<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > MAXQ構架上閃存和SRAM存儲器的分配

MAXQ構架上閃存和SRAM存儲器的分配

作者: 時(shí)間:2013-05-25 來(lái)源:網(wǎng)絡(luò ) 收藏
gb(31,43,56); BORDER-RIGHT-COLOR: rgb(204,205,207); FONT-SIZE: 10pt; PADDING-TOP: 3px" class=tablebody4>———0x80000xFFFF


圖3. 執行固定用途ROM函數時(shí)的存儲器映射

和SRAM中的存儲器分配

IAR嵌入式工作臺IDE用于編程基于核的微控制器。IAR? C編譯器(用于微控制器)提供用于定義或SRAM位置中數據對象或變量的選項。編譯器具有特殊關(guān)鍵詞pragma locationpragma required;通過(guò)使用關(guān)鍵詞,可將存儲器分配給絕對地址的數據對象或變量。必須用IAR關(guān)鍵詞__no_initconst(標準C關(guān)鍵詞)聲明這些變量或數據對象。請參見(jiàn)下文中__no_init、const、pragma locationpragma required的關(guān)鍵詞說(shuō)明。

pragma location

#pragma location用于定義絕對地址的單個(gè)全局或靜態(tài)變量或數據對象。變量或數據對象必須聲明為__no_initconst。這對于必須位于固定地址的個(gè)體數據對象非常有用,例如變量、帶有外部或內部接口的數據對象或增加的硬件表項。

pragma required

#pragma required確保鏈接輸出中包括某個(gè)符號所需的另一個(gè)符號。該指令必須放在緊鄰第二個(gè)符號的前邊。如果符號在應用中不可見(jiàn),使用該指令。例如,如果僅通過(guò)某個(gè)變量所在的段對其進(jìn)行間接引用,必須使用#pragma required。

__no_init

正常情況下,應用程序啟動(dòng)時(shí),IAR運行時(shí)環(huán)境將全部全局和靜態(tài)變量初始化為0。IAR C編譯器支持聲明不初始化的變量,使用__no_init類(lèi)型限定符。聲明為__no_init的變量在啟動(dòng)時(shí)被禁止。不可能為__no_init對象賦予初始值。

例如:__no_init char MaximChar @ 0x0200;

本例中,聲明為__no_init的變量被放在默認數據存儲器(SRAM)的一個(gè)絕對地址。

const

const關(guān)鍵詞意味著(zhù)對象為只讀。這類(lèi)限定符用于表示直接或通過(guò)指針存取的數據對象,不可寫(xiě)。當const隨關(guān)鍵詞#pragma location#pragma required一起使用時(shí),IAR分配#pragma location定義的位置的存儲器。這對于配置從外部接口進(jìn)行存取的參數非常有用。這樣的數據只能由固定用途ROM函數讀或寫(xiě)。

IAR默認存儲器模型中,不可存取絕對地址的常量。利用選項Place constants in CODE (在IAR ProjectOptionGeneral OptionTarget window)使其可存取,如圖4所示。


圖4. IAR項目選項窗口

例1

const int FLASH_DATA0;
//FLASH_DATA0 is initialized to 0x0000 and linker will allocate memory address.

例2

#pragma location = 0xA000
const int FLASH_DATA1 = 0x1234;
#pragma required = FLASH_DATA1
本例中,存儲器分配為閃存地址0xA000,初始化為0x1234。

例3

#pragma location = 0xA002
__no_init const int FLASH_DATA2 //Memory is allocated at the address 0xA002 (byte address)
#pragma required = FLASH_DATA2

本例中,存儲器分配為閃存地址0xA002,不初始化。

上例中,有三個(gè)聲明為常量的對象,第一個(gè)初始化為0,第二個(gè)初始化為規定值,第三個(gè)不初始化。全部三個(gè)變量均在閃存中。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: MAXQ 閃存 SRAM存儲器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>