色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 單片機MCU如何實現(xiàn)讓部分代碼運行在RAM中

單片機MCU如何實現(xiàn)讓部分代碼運行在RAM中 時間:2019-06-06      來源:華清遠(yuǎn)見

隨著單片機硬件的發(fā)展,其中的RAM和flash越做越大。MCU在實際的使用中,通常程序都是運行在flash上的,RAM的高速空間并沒有得到充分的利用,如果我們的程序需要運行的更快,系統(tǒng)有更好的實時性,我們可以考慮將這部分代碼放到RAM中運行,下邊我們將以STMF103RCT6作為舉例,向大家介紹在keil環(huán)境中如何使程序在RAM中運行。

在STMF103RCT6單片機上有兩個存儲空間,一個是片上的FLASH(相當(dāng)于硬盤),有256K,另一個就是SRAM(相當(dāng)于內(nèi)存),有64K。

下邊是使用keil生成項目時的項目大小信息:

Code:程序代碼不分大小

RO-data:程序定義的常量

PW-data:已經(jīng)初始化的的全局變量

ZI-data:未初始化的全局變量,以及初始化為0的變量

下面給出三個值:

RO Size= Code + RO Data (程序占用FLASH空間的大小).

RW Size-RW Data +ZI Data (運行時程序占用RAM空間的大小).

ROM Size=Code + RO Data + RW Data (燒寫時程序占用FLASH空間的大小).

 

我們都知道,在燒寫程序的時候,需要燒寫bin文件或者h(yuǎn)ex文件到STM32的flash當(dāng)中,三部分:cole, RO-data和RW-data,為什么不包含ZI數(shù)據(jù)呢,是因為ZI數(shù)據(jù)都是0,沒必要包含,只要程序運行之前將ZI數(shù)據(jù)所在的區(qū)域(這一區(qū)域在RAM中)一律清零即可。包含進(jìn)去反而浪費flash存儲空間。

 

STM32上電啟動以后, cpu根據(jù)boot0和boot1的硬件引腳決定從flash還是ram中啟動,默認(rèn)是從flash中啟動;啟動之后會搬運rw-data到ram,但是不會搬運code;也就是說 cpu執(zhí)行的代碼是在flash中讀取的,而不是在ram中。

快速新建一個項目,使一個LED燈閃爍。

實現(xiàn)函數(shù)如下:

在main函數(shù)中:

通過查看xx.msp文件,可以看到LEDToggle函數(shù)編譯后的地址是放在flash中的

那么如何將LEDToggle函數(shù)放在STM32的SRAM中:

1.打開編譯后生成的xx.sct文件,修改該文件

同時可以看到

Flash起始地址:0x08000000

RAM起始地址:0x20000000

2.在xx.sct文件中,定義一個RAMCODE的section,放在RW_IRAM1執(zhí)行區(qū)域(0x20000000-0x00002000)。

3.修改代碼

方法一:用#pragma arm section code = "RAMCODE" 和 #pragma arm section將需要放到SRAM中的程序包括起來;

然后編譯,重新打開xx.msp文件,可以看到LEDToggle函數(shù)編譯后的地址已經(jīng)在SRAM中

方法二:在需要放到RAM中的函數(shù)前,用__attribute__((section("RAMCODE")))聲明該函數(shù)放在RAMCODE section中。

然后編譯,重新打開xx.msp文件,可以看到LEDToggle函數(shù)編譯后的地址同樣在SRAM中

注意事項:

注意使用方法一時,該函數(shù)中調(diào)用到的所有函數(shù)也要放到RAMCODE section中,#pragma arm section code=“RAMCODE ”和#pragma arm section中可以包含多段代碼。

上一篇:linux curl命令用法簡介

下一篇:STM32 keil開發(fā)環(huán)境搭建

熱點文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 在线日韩欧美视频| 久久久久国产精品免费| 精品久久久一区二区| 久久久极品av| 久久天天躁狠狠躁夜夜爽蜜月| 一本色道久久88综合日韩精品 | 最近的2019中文字幕免费一页| 亚洲精品综合精品自拍| 国产一区二区激情| 伦伦影院午夜日韩欧美限制| 亚洲最大av在线| 精品偷拍一区二区三区在线看| 亚州精品天堂中文字幕| 浅井舞香一区二区| 欧美国产日韩在线| 91高清视频免费观看| 国产精品美女av| 国产视频在线一区二区| 中文字幕亚洲综合久久| 懂色av中文一区二区三区天美| 欧美亚洲成人xxx| 性欧美长视频免费观看不卡| 奇米4444一区二区三区 | 久久久久久久影院| 国产精品久久久久不卡| 亚洲国产古装精品网站| 日韩在线观看免费高清完整版| 亚洲欧美www| 岛国av一区二区三区| 国产精品网红福利| 国产亚洲精品美女| 久久免费精品视频| 亚洲精品日韩激情在线电影| 精品国偷自产在线视频99| 97视频国产在线| 亚洲国产欧美一区| 欧美日韩一区二区在线播放| 国产精品美乳在线观看| 中文字幕在线国产精品| 国产精品第一视频| 另类视频在线观看|