In CE15.3, a GCC compilation error may occur after changing the CPU in the application from BMEP584040 to BMEP585040 or higher. This issue arises when a few not recommended instructions are used in specific sections.
The compiler utilized in BMEP585040 and higher models differs from the one used for BMEP584040 references and lower. This imposes limitations in ST sections, particularly when 'JMP' instructions are used in an infinite loop (e.g., with labels).
To prevent potential GCC issues, it is strongly advised to replace these 'JMP' instructions in infinite loops with 'While' instructions.
See the following example:
The following code uses label and JMP instructions:
Can be replaced by this one, doing the same thing, and able to be built by the BMEP585040 compiler:
The compiler utilized in BMEP585040 and higher models differs from the one used for BMEP584040 references and lower. This imposes limitations in ST sections, particularly when 'JMP' instructions are used in an infinite loop (e.g., with labels).
To prevent potential GCC issues, it is strongly advised to replace these 'JMP' instructions in infinite loops with 'While' instructions.
See the following example:
The following code uses label and JMP instructions:
Can be replaced by this one, doing the same thing, and able to be built by the BMEP585040 compiler: