Vai al contenuto
PLC Forum


Dynamic C E Ucosii - integrazione di ucosII in dynamic C


Messaggi consigliati

Inserito:

Ciao a tutti,

sono un neofita del mondo embedded. Ho cominciato a lavorare da poco con l'ambiente dynamic C di zworld.

Da poco ho acquistato anche il modulo addizionale ucosII, in quanto l'applicazione che sviluppo necessita di semafori, timers, etc.

Non riesco a compilare nemmeno l'lesempio:((((!!!!

L'esempio (preso direttamente dalla documentazione di dynamic c) lo riporto di seguito:

//**********************************************************

// 1. Explicitly use uC/OS-II library

#use "ucos2.lib"

void RandomNumberTask(void *pdata);

// 2. Declare semaphore global so all tasks have access

OS_EVENT* RandomSem;

void main()

{

int i;

// 3. Initialize OS internals

OSInit();

for(i = 0; i < OS_MAX_TASKS; i++)

// 4. Create each of the system tasks

// OSTaskCreate(RandomNumberTask, NULL, 512, i);

// 5. semaphore to control access to random number generator

RandomSem = OSSemCreate(1);

// 6. Begin multitasking

OSStart();

}

void RandomNumberTask(void *pdata){

// 7. Declare as auto to ensure reentrancy.

auto OS_TCB data;

auto INT8U err;

auto INT16U RNum;

OSTaskQuery(OS_PRIO_SELF, &data);

while(1)

{

// Rand is not reentrant, so access must be controlled via a semaphore.

OSSemPend(RandomSem, 0, &err);

RNum = (int)(rand() * 100);

OSSemPost(RandomSem);

printf("Task%d's random #: %d\n",data.OSTCBPrio,RNum);

// Wait 3 seconds in order to view output from each task.

OSTimeDlySec(3);

}

}

//**********************************************************

Quando compilo ottengo sempre l'errore:

Undefined but used dkSetReturnAddress.

Devo settare qualcosa di particolare per utilizzare la libreria ucos2.lib???

E se si dove???

Grazie 1000

Mark


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...