介 紹
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:(非常好用!!!)
來源:瑞薩MCU小百科(作者:James Xu)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
FlaSh
+關(guān)注
關(guān)注
10文章
1677瀏覽量
151619 -
定位
+關(guān)注
關(guān)注
5文章
1438瀏覽量
35941 -
RA
+關(guān)注
關(guān)注
0文章
23瀏覽量
24941
發(fā)布評(píng)論請(qǐng)先 登錄
單圈精微·多圈無界:絕對(duì)值編碼器如何重塑工業(yè)定位新范式
【RA-Eco-RA4M2開發(fā)板評(píng)測(cè)】RA-Eco-RA4M2 Keil 開發(fā)環(huán)境搭建
【RA-Eco-RA4M2開發(fā)板評(píng)測(cè)】1 RA4M2開發(fā)環(huán)境搭建
瑞薩RA系列MCU FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南(09)存儲(chǔ)器映射

倍加福PXV絕對(duì)位置定位系統(tǒng)如何工作
絕對(duì)值編碼器 —— 工業(yè)自動(dòng)化的 “定位神器”

MAC地址的作用范圍,MAC地址怎么申請(qǐng)?

【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】2、第一個(gè)程序
精準(zhǔn)定位,盡在掌握:絕對(duì)值編碼器技術(shù)解析

精準(zhǔn)定位,無界運(yùn)行:絕對(duì)值拉線編碼器解決方案

評(píng)論