I updated my tool chain to V3.2.0 and when I recompiled an existing project, I ran into an error that didn't occur with version 2. The error was with __STREXB/H functions: Error: registers may not be the same -- `strexb r0,r0,[r1]'
In my project, I use __get_PRIMASK and __set_PRIMASK which come from core_cm3.c.
The core_cm3.c file is V1.20 that comes with the ST standard peripheral library.
In the CrossStudio 3.2.0 install, I can see a core_cm3.h header file that is V3.20 but I cannot find a core_cm3.c file except the one that comes with the ST standard peripheral library.
When I remove core_cm3.c from my project I get link errors for __get_PRIMASK and __set_PRIMASK.
I found some info. on how to change core_cm3.c to fix the error. However, my question is how do I get rid of this without modifying core_cm3.c? Am I missing a file or am I not pointing to a CMSIS library?
FWIW, I did dump one of the CrossWorks libraries and I didn't find any symbols for the aforementioned routines.
Please sign in to leave a comment.