I am looking at the feasibility of using CMSIS threads in our C++ Cortex M4 application, compiled with armclang. Scheduling would be fairly simple – each thread would have a different priority and would wait on a semaphore set by an associated interrupt service routine.
I can see no requirement to have a system tick, which is just as well as it would not be supported in our hardware. Would CMSIS support the thread mechanism I have described without having a system tick? (I think it should be ok because I expect scheduling will happen on leaving the ISR and on semaphore operations).
I have written some simple test code based on the example here:
Thread Management
I haven’t linked in any CMSIS objects and so am getting a linker error: Error: L6218E: Undefined symbol osThreadCreate (referred from TestFunctions2.o).
Can you please either suggest which objects/libraries are required or point me to an Arm Dev Studio example that uses CMSIS threads?
Thanks again for your help.