Error checking, Memory pool management functions – Comtrol eCos User Manual

Page 480

Advertising
background image

Chapter 32. µITRON API

ER

iwup_tsk

(

ID tskid )

ER

isig_sem

(

ID semid )

ER

iset_flg

(

ID flgid ,

UID setptn )

ER

isend_msg

(

ID mbxid ,

T_MSG *pk_msg )

Note that

ret_int()

and the

ret_wup()

are implemented as macros, containing a “return” statement.

Also note that

ret_wup()

and the

ixxx_yyy()

style functions will only work when called from an ISR whose

associated DSR is

cyg_uitron_dsr()

, as specified in include file

<

cyg/compat/uitron/uit_ifnc.h

>

, which

defines the

ixxx_yyy()

style functions also.

If you are writing interrupt handlers more in the eCos style, with separate ISR and DSR routines both of your own
devising, do not use these special functions from a DSR: use plain

xxx_yyy()

style functions (with no ‘i’ prefix)

instead, and do not call any µITRON functions from the ISR at all.

The following functions are not supported in this release:

ER

def_int

(

UINT dintno,

T_DINT *pk_dint )

ER

chg_iXX

(

UINT iXXXX )

ER

ref_iXX

(

UINT * p_iXXXX )

These unsupported functions are all Level C (CPU dependent). Equivalent functionality is available via other eCos-
specific APIs.

Error checking

The

following

conditions

are

only

checked

for,

and

only

return

errors

if

CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS

is enabled:

loc/unl_cpu()

: these must only be called in a µITRON task context, else E_CTX.

dis/ena_int()

: the interrupt number must be in range as specified by the platform HAL in qustion, else

E_PAR.

376

Advertising