Hello,
I am trying to move from DSPBIOS 5 to SYSBIOS 6. Refering to the TI documents, it says that I don't have to change any source code of legacy APIs like MBX, TSK, etc. That's true, but in some cases I had a build error with following text:
error #137: struct "ti_sysbios_knl_Task_Struct" has no field "stack"
In the forum I found a thread, which answered my problem partially. It said, that in SYSBIOS it is not allowed to call members of structs (e.g. "ti_sysbios_knl_Task_Struct") like "stack" directly. You have to use functions which can access these members.
So in DSPBIOS, this was allowed:
TSK_Handle task;
task->stack = 0xFFFFFFFF;
In SYSBIOS, you need to do it like this:
TSK_Handle task;
TSK_Stat statbuf;
TSK_stat(task,&statbuf);
statbuf.attrs.stack = 0xFFFFFFFF;
This is something I understand. But then, I got other problems, for which I don't know the functions to avoid the build errors like for the TSK module:
- error #137: struct "ti_sysbios_knl_Mailbox_Struct" has no field "dataSem"
- error #137: struct "xdc_runtime_LoggerBuf_Struct" has no field "seqnum"
- error #137: struct "xdc_runtime_LoggerBuf_Struct" has no field "bufbeg"
- error #137: struct "xdc_runtime_LoggerBuf_Struct" has no field "curptr"
- error #137: struct "xdc_runtime_LoggerBuf_Struct" has no field "lenmask"
- error #20: identifier "LOG_Event" is undefined
Can you tell me, how I can avoid these problems? If I have to use the new API of LoggerBuf or Mailbox, how can I find out, which functions I have to use?