01.06.2013 Views

IPC@CHIP Documentation - SC12 @CHIP-RTOS V1.10

IPC@CHIP Documentation - SC12 @CHIP-RTOS V1.10

IPC@CHIP Documentation - SC12 @CHIP-RTOS V1.10

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>RTOS</strong> API - <strong>SC12</strong> <strong>@CHIP</strong>-<strong>RTOS</strong> <strong>V1.10</strong><br />

<strong>IPC<strong>@CHIP</strong></strong> <strong>Documentation</strong> Index <strong>RTOS</strong> API News<br />

<strong>RTOS</strong> API<br />

Here is the documentation for the <strong>RTOS</strong> API. This interface provides access to the <strong>RTOS</strong> of the <strong>IPC<strong>@CHIP</strong></strong>.<br />

For a general introduction about multitasking with the <strong>@CHIP</strong>-<strong>RTOS</strong> see Multitasking introduction. Please<br />

note that we cannot explain in detail all principles of a multitasking system in this document.<br />

A good book for understanding the architecture of Real-Time-Kernels is "MicroC/OS" from Jean.J.Labrosse.<br />

Topics<br />

<strong>RTOS</strong> API Overview<br />

<strong>RTOS</strong> API News<br />

<strong>RTOS</strong> API Error Codes<br />

<strong>RTOS</strong> API DeveloperNotes<br />

<strong>RTOS</strong> API ExamplesAvailable<br />

<strong>RTOS</strong> API Data Structures<br />

<strong>IPC<strong>@CHIP</strong></strong> System Tasks<br />

API Functions<br />

The <strong>RTOS</strong> API uses interrupt 0xAD with a service number in the high order byte of the AX register (AH). The<br />

implemented <strong>RTOS</strong> services are listed below.<br />

For some useful comments see also Programming notes.<br />

● Interrupt_0xAD_function_0x00:_RTX_SLEEP_TIME, Sleep for a specified time<br />

● Interrupt_0xAD_function_0x01:_RTX_TASK_CREATE, Create and start a task<br />

● Interrupt_0xAD_function_0x11:_RTX_TASK_CREATE_WITHOUT_RUN, Create a task<br />

● Interrupt_0xAD_function_0x02:_RTX_TASK_KILL, Stop and kill specified task.<br />

● Interrupt_0xAD_function_0x03:_RTX_TASK_DELETE, Remove a task from the system<br />

● Interrupt_0xAD_function_0x04:_RTX_GET_TASKID, Get ID of the current task<br />

● Interrupt_0xAD_function_0x05:_RTX_SLEEP_REQ, Sleep until wake request<br />

● Interrupt_0xAD_function_0x06:_RTX_WAKEUP_TASK, Wake up a task<br />

● Interrupt_0xAD_function_0x07:_RTX_END_EXEC, End execution of task<br />

● Interrupt_0xAD_function_0x08:_RTX_CHANGE_PRIO, Change priority of a task<br />

● Interrupt_0xAD_function_0x14:_RTX_CREATE_SEM, Create a semaphore<br />

● Interrupt_0xAD_function_0x15:_RTX_DELETE_SEM, Delete a semaphore<br />

● Interrupt_0xAD_function_0x16:_RTX_FREE_RES, Free a resource semaphore<br />

● Interrupt_0xAD_function_0x17:_RTX_GET_SEM, Get counting semaphore (no wait)<br />

● Interrupt_0xAD_function_0x18:_RTX_RELEASE_SEM, Release a resource semaphore<br />

● Interrupt_0xAD_function_0x19:_RTX_RESERVE_RES, Get use of a resource semaphore<br />

Page 183 / 400

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!