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

2、fsp.ld文件中,memory選項(xiàng),Add新的分區(qū),這里直接指定起始地址和長(zhǎng)度。

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

4、如下,編輯my_code

在文本編輯會(huì)自動(dòng)創(chuàng)建代碼如下:

5、為了避免可能出現(xiàn)的問題,最好修改Flash地址空間,因?yàn)榈酱藭r(shí),my_code被包在Flash區(qū),需要修改flash區(qū)地址。
首先,復(fù)制memory_regions.ld并改名到同一目錄下,在fSP.ld文件文本編輯處include新復(fù)制的文件:

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

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

注:推薦大家使用e2 studio help contents:(非常好用?。。。?/p>
來源:瑞薩MCU小百科(作者:James Xu)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
FlaSh
+關(guān)注
關(guān)注
10文章
1747瀏覽量
155493 -
定位
+關(guān)注
關(guān)注
5文章
1585瀏覽量
36693 -
RA
+關(guān)注
關(guān)注
0文章
32瀏覽量
25300
發(fā)布評(píng)論請(qǐng)先 登錄
瑞薩RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南之QSPI控制FLASH的指令
RA MCU眾測(cè)寶典 | 在瑞薩CPKCOR-RA8D1B核心板上實(shí)現(xiàn)QSPI讀取外部Flash
【干貨分享】瑞薩RA6E2地奇星開發(fā)板Flash讀寫與OLED顯示實(shí)戰(zhàn)
CW32操作FLASH地址對(duì)齊的要求
【瑞薩RA6E2地奇星開發(fā)板試用】?jī)?nèi)部Code flash和Data flash寫入數(shù)據(jù)并通過OLED顯示
【原創(chuàng)】【RA4M2-SENSOR開發(fā)板評(píng)測(cè)】?jī)?nèi)部flash讀寫測(cè)試
【RA-Eco-RA6M4開發(fā)板評(píng)測(cè)】開發(fā)環(huán)境搭建
功耗 0.1uA的LoRaWAN 模組Ra-09/Ra-09H
瑞薩電子RA0L1微控制器的主要特點(diǎn)
【CPKCOR-RA8D1】+ 1.RA8D1開箱點(diǎn)燈
【RA4M2-SENSOR】讀寫Code Flash
【干貨分享】基于瑞薩RA4M2-SENSOR開發(fā)板,實(shí)現(xiàn)便攜式 GPS 定位器
求助,關(guān)于STM32F407的flash讀寫問題求解
【RA-Eco-RA4M2開發(fā)板評(píng)測(cè)】RA-Eco-RA4M2 Keil 開發(fā)環(huán)境搭建
瑞薩RA系列MCU FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南(09)存儲(chǔ)器映射
RA Flash地址絕對(duì)定位
評(píng)論