客戶使用IDE CS+ CACX編譯瑞薩RL78系列MCU R5F1027A,出現報錯信息,code flash無法分配。而實際使用的flash 約10K還遠不到16K。為什么R5F1027A(flash空間16K)使用的code flash不到16K就出現添加新代碼后編譯,提示無法分配的錯誤?
![57c5b706-3bea-11ee-9e74-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/E4/wKgZomToRgKARYalAARiRZZ-7yw988.png)
分析
1、經過排查沒有對IDE編譯環境CS+ CACX做特殊的設置,在項目代碼比較少的情況下,編譯也正常。
2、針對提示的錯誤信息,嘗試屏蔽不同的軟件函數,發現需要減少較多的軟件代碼,編譯才恢復正常。
3、多次嘗試后發現flash空間在超過8K左右后,會出現編譯錯誤。
4、查看項目的HEX文件。發現flash地址從0x0C57,到0x1FFF的空間都是填充的FF,也就是這段flash空間沒有使用到。
![580fc602-3bea-11ee-9e74-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/E4/wKgZomToRgKAe0u3AAbXVZvxOm0369.png)
5、查看map文件,發現和HEX文件相吻合,@@CODEL代碼flash段是從0x20C6開始分配的,也就是代碼段分配在16K空間的后面8K。這樣前面的flash空間有13A9字節,將近5K沒用上。
![5888f126-3bea-11ee-9e74-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/E4/wKgZomToRgOARWTcAAGoadE2_rg170.png)
![58c73a76-3bea-11ee-9e74-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/E4/wKgZomToRgOAWFXdAAEF7_qfIXs294.png)
6、分析確認到原因后,要想辦法解決,多次嘗試無果,再分析map文件。發現分配的代碼段@@CODEL,從0x20C6開始是跟@@CNST 這個常量的段是相鄰的。
7、想辦法嘗試改變@@CNST的地址分配,看看@@CNST的地址改變,是否會影響@@ CODEL代碼段的地址分配。
8、把@@CNST這個常量的段,通過添加DR文件,設置到后面地址0x3C00后,發現編譯正常了。
![58eb9934-3bea-11ee-9e74-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/E4/wKgZomToRgOAYCsrAADJ1Dx9XAs663.png)
結論
查看生成的HEX文件,發現前面的flash空間0x0C57也用上了,問題得到解決。
通過和同事交流,以及多番查閱IDE的HELP文檔,分析了解各個代碼段@@XXXX的含義,解決了客戶端遇到的問題。
![58fa97c2-3bea-11ee-9e74-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/E4/wKgZomToRgOAG44wAAAY9TaI_Nw850.png)
![59871364-3bea-11ee-9e74-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9F/E5/wKgZomToRgOAL-L-AAG9wtn4yvo100.jpg)
原文標題:使用CS+ CACX編譯RL78系列MCU出現flash空置0XFF錯誤問題
文章出處:【微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
-
mcu
+關注
關注
146文章
17224瀏覽量
351942 -
瑞薩
+關注
關注
35文章
22310瀏覽量
86525
原文標題:使用CS+ CACX編譯RL78系列MCU出現flash空置0XFF錯誤問題
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
從Renesas RL78到基于Arm的MSPM0的遷移指南
![從Renesas <b class='flag-5'>RL78</b>到基于Arm的MSPM<b class='flag-5'>0</b>的遷移指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RL78系列MCU DMA在UART中的使用
![<b class='flag-5'>RL78</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b> DMA在UART中的使用](https://file1.elecfans.com/web2/M00/FD/E5/wKgaomaXY-mAfGzkAAAQqVE71F4591.png)
RL78/F24 CANFD參考例程
![<b class='flag-5'>RL78</b>/F24 CANFD參考例程](https://file1.elecfans.com/web2/M00/EF/24/wKgZomZv5Z-AR9yJAABZgPfc7yc186.png)
RL78/G24快速原型開發板資料包大全
RL78/G15組和RL78/G16組 瑞薩Flash示例程序01型SC版本應用說明
![<b class='flag-5'>RL78</b>/G15組和<b class='flag-5'>RL78</b>/G16組 瑞薩<b class='flag-5'>Flash</b>示例程序01型SC版本應用說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RL78系列Flash自編程庫Type01軟件包Ver.4.00發布說明
![<b class='flag-5'>RL78</b><b class='flag-5'>系列</b><b class='flag-5'>Flash</b>自編程庫Type01軟件包Ver.4.00發布說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RL78系列 Data Flash Library Type04軟件包3.0版發布說明
![<b class='flag-5'>RL78</b><b class='flag-5'>系列</b> Data <b class='flag-5'>Flash</b> Library Type04軟件包3.0版發布說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RX設備系列 RL78設備系列 RA設備系列嵌入式目標用戶手冊
![RX設備<b class='flag-5'>系列</b> <b class='flag-5'>RL78</b>設備<b class='flag-5'>系列</b> RA設備<b class='flag-5'>系列</b>嵌入式目標用戶手冊](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RL78系列、RX系列、RH850系列集成開發環境用戶手冊
![<b class='flag-5'>RL78</b><b class='flag-5'>系列</b>、RX<b class='flag-5'>系列</b>、RH850<b class='flag-5'>系列</b>集成開發環境用戶手冊](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論