介 紹
MCU設計中,很多時候客戶需要在Flash指定地址存入指定數據,這里需要用到Flash的絕對定位,我們知道有些公司可以在keil使用char const buf[x] __attribute__ ((at(0x80000))) = {};實現,那么RA是否可以實現?
通過瑞薩官方編譯工具e2 studio對.ld腳本文件修改,在Flash上劃一小塊出來,然后通過__attribute__實現。
具體步驟如下
1、首先在Flash上劃一塊出來,在e2 studio對.ld文件進行修改。工程路徑如下圖

2、fsp.ld文件中,memory選項,Add新的分區,這里直接指定起始地址和長度。

3、fsp.ld下,文本編輯,初始my_code(!rx),刪除”!”

4、如下,編輯my_code

在文本編輯會自動創建代碼如下:

5、為了避免可能出現的問題,最好修改Flash地址空間,因為到此時,my_code被包在Flash區,需要修改flash區地址。
首先,復制memory_regions.ld并改名到同一目錄下,在fSP.ld文件文本編輯處include新復制的文件:

接下來,我們需要在memory_regions_my.ld修改Flash空間

同樣,我們可以在此處設置my_code的起始地址和長度,在第2步新建的分區直接用起始地址和長度別名替代。
6、在主函數變量聲明處,添加代碼
const char buff[16] __attribute__((section(".my_code "))) = {"1234567890abcdef"};
buff長度需與分區大小相同,否則會報錯。
Build需要使用release。
7、編譯完成后,查看如下:

注:推薦大家使用e2 studio help contents:(非常好用!!!)
來源:瑞薩MCU小百科(作者:James Xu)
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理
審核編輯 黃宇
-
FlaSh
+關注
關注
10文章
1753瀏覽量
155689 -
定位
+關注
關注
5文章
1594瀏覽量
36739 -
RA
+關注
關注
0文章
34瀏覽量
25336
發布評論請先 登錄
瑞薩RA系列FSP庫開發實戰指南之QSPI控制FLASH的指令
RA MCU眾測寶典 | 在瑞薩CPKCOR-RA8D1B核心板上實現QSPI讀取外部Flash
【干貨分享】瑞薩RA6E2地奇星開發板Flash讀寫與OLED顯示實戰
【瑞薩RA6E2地奇星開發板試用】內部Code flash和Data flash寫入數據并通過OLED顯示
【原創】【RA4M2-SENSOR開發板評測】內部flash讀寫測試
【RA-Eco-RA6M4開發板評測】開發環境搭建
功耗 0.1uA的LoRaWAN 模組Ra-09/Ra-09H
瑞薩電子RA0L1微控制器的主要特點
【CPKCOR-RA8D1】+ 1.RA8D1開箱點燈
【RA4M2-SENSOR】讀寫Code Flash
【干貨分享】基于瑞薩RA4M2-SENSOR開發板,實現便攜式 GPS 定位器
求助,關于STM32F407的flash讀寫問題求解
【RA-Eco-RA4M2開發板評測】RA-Eco-RA4M2 Keil 開發環境搭建
瑞薩RA系列MCU FSP庫開發實戰指南(09)存儲器映射
RA Flash地址絕對定位
評論