I am having some troubles since I updated my project from Crossworks 2.3 to Crossworks 3.5 with random watchdogs resets.
I would first like to share some of my notes to convert my solution from 2.3 version to 3.5 version.
1) Delete all references to project included CTL libraries.
2) Either delete included reference to core_cm3 or modify lines:
__ASM volatile ("strexb %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );
__ASM volatile ("strexh %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );
3) Include Either linker_additional_files="$(PackagesDir)/libraries/libctl/lib/libctl$(LibExt).a" or set tasking library to on from project settings (libctl="Yes")
4) Stack size should be set to 1024 bytes
5) Add linker_section_placement_file="$(StudioDir)/targets/flash_placement.xml" to project settings.
6) GPS.c Set optimization level to none
7) Change thumb.s file.
8) Flash placement must be modified to include references to MemorySegment tasking library.
The watchdog restart do not appear instantly after boot, and it takes too long to get triggered. It could take from 2-3 hours to 3 days to get a restart.
I have some code to return the name of the watchdog that was triggered but it doesn't return me the name of the watchdog.
Also I have tried to run same project (same in a matter of source code) compiled by the two Crossworks versions.
1) Same source code but Crossworks 2.3 (Does not restart)
2) Same source code but Crossworks 3.5 (restarts)
I have also included my solution file and some additional files that were edited when I was converting the project.
The project is the AT200.
AST.hzp -> new solution files for version 3.5
Is there anything else I should also provide to get help on this problem ?
Please sign in to leave a comment.