Each sample application a p2_init()
function that gets executed before the uC/OS-II starts. Therefore, only the following operations are permitted in p2_init()
:
- Initialize global variables - e.g. by direct assignment or by using C functions such as
memcpy
, ormemset
. - Create semaphores - e.g. calling
OSSemCreate()
orOSMutexCreate()
. - Initialize tasks - e.g. calling
OSTaskCreateExt()
,OSTaskNameSet()
. - Installing callbacks.
Some things you should not do:
- Call other OS functions
- Print to the CLI
- Interact with peripherals or the filesystem
- Make other API calls
These need to be done in your tasks before the while(1)
loop. If Task A requires Task B to do something, then a semaphore should be used.