Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: clarity, grammar

Each sample application a application contains a p2_init() function that gets executed called before the uC/OS-II starts. ThereforeSince not all OS services are available, 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, or memset.
  • Create semaphores - e.g. calling OSSemCreate() or OSMutexCreate().
  • Initialize tasks - e.g. calling OSTaskCreateExt()OSTaskNameSet().
  • Installing Install 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 Operations not permitted in p2_init() 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 to provide synchronization.