How to avoid gcc compilation error after upgrade from BMEP584040 to BMEP585040
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:
發佈於: 施耐德電機Taiwan
需要協助?
產品選型工具
快速輕鬆地為您的應用找到合適的產品和附件。
取得報價
立即線上提交您的銷售需求,專業團隊將主動聯繫您。
購買地點
輕鬆在您所在地區找到最近的施耐德電機經銷商。
支援中心
在同一位置找到滿足您所有需求的支援資源。