I am in the process of doing a proof-of-concept migration of some old code that uses embOS 3.80h with IAR EWARM 5.2 to embOS 5.10 with IAR EWARM 8.5.
I am a little stuck on how to properly initialize the multi-threading support.
With the old software our code simply called OS_INIT_SYS_LOCKS().
That doesn't seem to do the trick with the new software - I get the following linker errors:
> Error[Li005]: no definition for "__iar_system_Mtxinit" [referenced from xsyslock_mtx.o(th7M_tln.a)]
> Error[Li005]: no definition for "__iar_system_Mtxdst" [referenced from xsyslock_mtx.o(th7M_tln.a)]
> Error[Li005]: no definition for "__iar_system_Mtxunlock" [referenced from xsyslock_mtx.o(th7M_tln.a)]
> Error[Li005]: no definition for "__iar_system_Mtxlock" [referenced from xsyslock_mtx.o(th7M_tln.a)]
IAR's documentation on this isn't particularly helpful - it says to look at the DLib_Threads.h file. That file describes a bunch of variables and definitions that can be set to control multi-thread support, but doesn't really explain exactly what modifications should be made or why.
I'm hoping you can provide some guidance for what embOS needs; I didn't find anything specific in the UM01014_embOS_CortexM_IAR.pdf manual.
I am a little stuck on how to properly initialize the multi-threading support.
With the old software our code simply called OS_INIT_SYS_LOCKS().
That doesn't seem to do the trick with the new software - I get the following linker errors:
> Error[Li005]: no definition for "__iar_system_Mtxinit" [referenced from xsyslock_mtx.o(th7M_tln.a)]
> Error[Li005]: no definition for "__iar_system_Mtxdst" [referenced from xsyslock_mtx.o(th7M_tln.a)]
> Error[Li005]: no definition for "__iar_system_Mtxunlock" [referenced from xsyslock_mtx.o(th7M_tln.a)]
> Error[Li005]: no definition for "__iar_system_Mtxlock" [referenced from xsyslock_mtx.o(th7M_tln.a)]
IAR's documentation on this isn't particularly helpful - it says to look at the DLib_Threads.h file. That file describes a bunch of variables and definitions that can be set to control multi-thread support, but doesn't really explain exactly what modifications should be made or why.
I'm hoping you can provide some guidance for what embOS needs; I didn't find anything specific in the UM01014_embOS_CortexM_IAR.pdf manual.