The whole resource access API is defined in srl.h. Task code should include it:
#include <srl.h>
Todo
GET_ARG
Abstract type for a MWMR channel
Reads from an MWMR channel to the given buffer. Block the task until the whole transfer is completed.
Parameters: |
|
---|
Writes to an MWMR channel to the given buffer. Block the task until the whole transfer is completed.
Parameters: |
|
---|
Reads from an MWMR channel to the given buffer. Returns as soon as a blocking could occur.
Parameters: |
|
---|---|
Returns: | The actual size transfered, in bytes. |
Writes to an MWMR channel to the given buffer. Returns as soon as a blocking could occur.
Parameters: |
|
---|---|
Returns: | The actual size transfered, in bytes. |
Writes a config register of an MWMR controller.
Parameters: |
|
---|
Reads a status register of an MWMR controller.
Parameters: |
|
---|---|
Returns: | the value present is status register |
Abstract type for a Synchronization barrier
Waits until all tasks registered on the barrier have called this function.
Parameters: |
|
---|
Resets the internal state of the barrier. If tasks are waiting on the same barrier at time of call, application behavior is undefined.
Parameters: |
|
---|
Abstract type for a Shared-memory buffer
Retrieves the base address of a memspace
Parameters: |
|
---|---|
Returns: | The memspace base address |
Retrieves the size of a memspace
Parameters: |
|
---|---|
Returns: | The memspace size, in bytes |
Waits until the lock is taken exclusively.
Parameters: |
|
---|
Releases the taken lock. If a task releases a lock it does not own, application behavior is undefined.
Parameters: |
|
---|
Try to take a lock, if it would block, don’t take it and return immediately.
Parameters: |
|
---|---|
Returns: | 0 if taken successfully, non-0 otherwise |