RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用CS+ CCRL編譯RL78系列MCU引起flash空間浪費(fèi)的錯(cuò)誤問題解析

瑞薩MCU小百科 ? 來源:瑞薩嵌入式小百科 ? 2023-12-08 13:57 ? 次閱讀

問題概述

客戶使用IDE CS+ CCRL編譯瑞薩RL78系列MCU R5F1027A(flash空間16K),出現(xiàn)報(bào)錯(cuò)信息,“data”地址超出范圍。而實(shí)際使用的flash約8K,還不到16K。R5F1027A項(xiàng)目使用的code flash約8K,一旦添加新代碼就出現(xiàn)編譯錯(cuò)誤信息,提示地址溢出的錯(cuò)誤?

394ea308-958d-11ee-8b88-92fbcf53809c.png397bddd2-958d-11ee-8b88-92fbcf53809c.png

分析

1

針對(duì)提示的錯(cuò)誤信息,嘗試屏蔽不同的軟件函數(shù),發(fā)現(xiàn)減少軟件代碼,編譯恢復(fù)正常。

2

多次嘗試后發(fā)現(xiàn)flash空間在超過8K左右后,會(huì)出現(xiàn)編譯錯(cuò)誤。

3

查看項(xiàng)目生成的MOT文件。發(fā)現(xiàn)code flash地址直接從0x2000開始,前面的0x00C4選項(xiàng)字節(jié)之后到0x2000 的flash空間都是沒有使用到。

39e7ce84-958d-11ee-8b88-92fbcf53809c.png

4

查看map文件,和mot文件相符合,.CONST 代碼段是從0x2000開始分配的,也就是代碼段前面的flash空間有將近8K沒用上。

39f193ba-958d-11ee-8b88-92fbcf53809c.png

5

分析確認(rèn)到原因后,多次嘗試修改section settings。參考RL78其他型號(hào)code flash 8K的R5F10268的CS+ CCRL工程設(shè)置,發(fā)現(xiàn).const分配的地址是從0x00CE開始。而R5F1027A的工程默認(rèn)從0x2000開始,所以想把.const直接從0x2000改成0x00CE,一直提示不符合設(shè)置范圍的錯(cuò)誤。最后把.const分配的地址放到后面改成0x3C00,其他代碼段.text則按順序從0x00D0開始,這樣設(shè)置后,編譯成功了。

3a01edc8-958d-11ee-8b88-92fbcf53809c.png3a23e70c-958d-11ee-8b88-92fbcf53809c.png

6

以上設(shè)置過后代碼重新編譯ok,也從0x00D0開始,但是當(dāng)設(shè)置開啟On-chip在線仿真功能后,發(fā)現(xiàn)報(bào)監(jiān)控字節(jié)的錯(cuò)誤。

3a47381a-958d-11ee-8b88-92fbcf53809c.png

7

查看數(shù)據(jù)手冊(cè)發(fā)現(xiàn),debug監(jiān)控字節(jié)會(huì)占用10個(gè)字節(jié),從0x00CE開始到0x00D8.

3a4b828a-958d-11ee-8b88-92fbcf53809c.png

8

把代碼段.text地址從0x00D0修改成0x00E0開始后,重新編譯正常了。查看MAP文件和mot文件,地址也是符合的,從0x00E0開始分配。

3a5e80b0-958d-11ee-8b88-92fbcf53809c.png3a690cce-958d-11ee-8b88-92fbcf53809c.png

總結(jié)

通過查看分析MAP文件和mot文件,定位到.CONST 代碼段是從0x2000開始分配的,導(dǎo)致代碼段前面的flash空間有將近8K沒用上,最終通過修改設(shè)置代碼段地址,問題得到解決。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17117

    瀏覽量

    350925
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1632

    瀏覽量

    147919

原文標(biāo)題:使用CS+ CCRL編譯RL78系列MCU出現(xiàn)CONST地址引起flash空間浪費(fèi)的錯(cuò)誤問題

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CS+ Code Generator Tool 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 API Reference[CS+ for CA,CX][CS+ for CC]

    CS+ Code Generator Tool 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 API Reference[CS+ for CA,CX][CS+ for CC]
    發(fā)表于 03-21 19:36 ?2次下載
    <b class='flag-5'>CS+</b> Code Generator Tool 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> API Reference[<b class='flag-5'>CS+</b> for CA,CX][<b class='flag-5'>CS+</b> for CC]

    CS+ V6.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V6.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 03-21 20:03 ?0次下載
    <b class='flag-5'>CS+</b> V6.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V6.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V6.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 03-22 18:47 ?0次下載
    <b class='flag-5'>CS+</b> V6.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V5.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V5.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 03-23 19:13 ?0次下載
    <b class='flag-5'>CS+</b> V5.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V4.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V4.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 03-23 19:41 ?0次下載
    <b class='flag-5'>CS+</b> V4.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V4.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V4.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 03-24 18:52 ?0次下載
    <b class='flag-5'>CS+</b> V4.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V3.02.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V3.02.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 05-15 18:34 ?1次下載
    <b class='flag-5'>CS+</b> V3.02.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ Code Generator Tool 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 API Reference[CS+ for CA,CX][CS+ for CC]

    CS+ Code Generator Tool 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 API Reference[CS+ for CA,CX][CS+ for CC]
    發(fā)表于 07-07 19:36 ?2次下載
    <b class='flag-5'>CS+</b> Code Generator Tool 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> API Reference[<b class='flag-5'>CS+</b> for CA,CX][<b class='flag-5'>CS+</b> for CC]

    CS+ V6.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V6.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 07-07 20:04 ?0次下載
    <b class='flag-5'>CS+</b> V6.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V6.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V6.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 07-07 20:37 ?0次下載
    <b class='flag-5'>CS+</b> V6.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V5.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V5.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 07-10 19:03 ?0次下載
    <b class='flag-5'>CS+</b> V5.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V4.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V4.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 07-10 19:32 ?0次下載
    <b class='flag-5'>CS+</b> V4.01.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V4.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V4.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 07-10 20:41 ?0次下載
    <b class='flag-5'>CS+</b> V4.00.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    CS+ V3.02.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]

    CS+ V3.02.00 集成開發(fā)環(huán)境 用戶手冊(cè): RL78 Debug Tool[CS+ for CC]
    發(fā)表于 07-11 19:45 ?1次下載
    <b class='flag-5'>CS+</b> V3.02.00 集成開發(fā)環(huán)境 用戶手冊(cè): <b class='flag-5'>RL78</b> Debug Tool[<b class='flag-5'>CS+</b> for CC]

    使用CS+ CACX編譯RL78系列MCU出現(xiàn)flash空置0XFF錯(cuò)誤問題

    問題概述 客戶使用IDE CS+ CACX編譯瑞薩RL78系列MCU R5F1027A,出現(xiàn)報(bào)錯(cuò)信息,code
    的頭像 發(fā)表于 08-16 12:10 ?1168次閱讀
    使用<b class='flag-5'>CS+</b> CACX<b class='flag-5'>編譯</b><b class='flag-5'>RL78</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>出現(xiàn)<b class='flag-5'>flash</b>空置0XFF<b class='flag-5'>錯(cuò)誤</b>問題
    RM新时代网站-首页