Visible to Intel only — GUID: oho1642993236208
Ixiasoft
Visible to Intel only — GUID: oho1642993236208
Ixiasoft
11.3.3. Thread-Safe Drivers
To enable a driver to be ported between the HAL and MicroC/OS-II environments, Altera defines a set of operating system-independent macros that provide access to operating system facilities. These macros implement functionality that is only relevant to a multi-threaded environment. When compiled for a multithreaded uCOS/II project, the macros expand to MicroC/OS-II API calls. When compiled for a single-threaded HAL project, the macros expand to benign empty implementations. These macros are used in Intel-provided device driver code, and you can use them if you need to write a device driver with similar portability.
The path listed for the header file is relative to the <Intel Quartus installation directory>/nios2eds/components/micrium_uc_osii/UCOSII/inc directory.
Macros | MicroC/OS-II Implementation | Single-Threaded HAL Implementation |
---|---|---|
Event Flag Macros Defined in os/alt_flag.h and priv/alt_flag_ucosii.h. |
||
ALT_FLAG_GRP(group) | Create a flag group with the name group. | Empty Statement |
ALT_EXTERN_FLAG_GRP(group) | Create an external reference to a flag group with name group. | |
ALT_STATIC_FLAG_GRP(group) | Create a static flag group with the name group. | |
ALT_FLAG_CREATE(group, flags) | Call OSFlagCreate() to initialize the flag group pointer, group, with the flag value flags. The error code is the return value of the macro. | Return 0 (success) |
ALT_FLAG_PEND(group, flags, wait_type, timeout) | Call OSFlagPend() with the first four input arguments set to group, flags, wait_type, and timeout respectively. The error code is the return value of the macro. | |
ALT_FLAG_POST(group, flags, opt) | Call OSFlagPost() with the first three input arguments set to group, flags, and opt respectively. The error code is the return value of the macro. | |
Semaphore Macros Defined in os/alt_sem.h and priv/alt_sem_ucosii.h. |
||
ALT_SEM(sem) | Create an OS_Event pointer with the name sem. | Empty Statement |
ALT_EXTERN_SEM(sem) | Create an external reference to an OS_Event pointer with the name sem. | |
ALT_STATIC_SEM(sem) | Create a static OS_Eventpointer with the name sem. | |
ALT_STATIC_CREATE(sem, value) | Call OSSemCreate() with the argument value to initialize OS_Event pointer, sem. The return value is zero on success, or negative otherwise. | Return 0 (success) |
ALT_SEM_PEND(sem, timeout) | Call OSSemPend() with the first two arguments set to sem and timeout respectively. The error code is the return value of the macro. | |
ALT_SEM_POST(sem) | Call OSSemPost() with the input argument sem. |
Argument | Valid Inputs | Defined in Header |
---|---|---|
wait_type |
|
|
timeout |
|
|
opt |
|