Interrupt management functions – Comtrol eCos User Manual

Page 479

Advertising
background image

Chapter 32. µITRON API

dispatching is enabled in any call which can sleep, or E_CTX

tmout must be positive, otherwise E_PAR

pk_cxxx pointers in

cre_xxx()

must be valid pointers, or E_PAR

return value pointer in

ref_xxx()

is valid pointer, or E_PAR

flag wait pattern must be non-zero, and mode must be valid, or E_PAR

return value pointer in flag wait calls is a valid pointer, or E_PAR

The following conditions are checked for, and can return error codes, regardless of the setting of

CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS

:

When create and delete functions

cre_xxx()

and

del_xxx()

are supported, all calls which use a valid object

ID number check that the object exists. If not, E_NOEXS is returned.

In create functions

cre_xxx()

, when supported, if the object already exists, then E_OBJ

In any call which can sleep, such as

twai_sem()

: return codes E_TMOUT, E_RLWAI, E_DLT or of course

E_OK are returned depending on the reason for terminating the sleep

In polling functions such as

preq_sem()

return codes E_TMOUT or E_OK are returned depending on the state

of the synchronization object

In creation functions, the attributes must be compatible with the selected underlying kernel configuration: in

cre_sem() pk_csem-

>

sematr

must be equal to

TA_TFIFO

else E_RSATR.

In

cre_flg() pk_cflg-

>

flgatr

must be either

TA_WMUL

or

TA_WSGL

else

E_RSATR

.

In

cre_mbx() pk_cmbx-

>

mbxatr

must be

TA_TFIFO

+

TA_MFIFO

else E_RSATR.

Extended Synchronization and Communication Functions

None of these functions are supported in this release.

Interrupt management functions

These functions are fully supported in this release:

void

ret_int

( void )

ER

loc_cpu

( void )

ER

unl_cpu

( void )

ER

dis_int

(

UINT eintno )

ER

ena_int

(

UINT eintno )

void

ret_wup

(

ID tskid )

375

Advertising