在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > MAXQ構(gòu)架上閃存和SRAM存儲(chǔ)器的分配

            MAXQ構(gòu)架上閃存和SRAM存儲(chǔ)器的分配

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


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

            和SRAM中的存儲(chǔ)器分配

            IAR嵌入式工作臺(tái)IDE用于編程基于核的微控制器。IAR? C編譯器(用于微控制器)提供用于定義或SRAM位置中數(shù)據(jù)對(duì)象或變量的選項(xiàng)。編譯器具有特殊關(guān)鍵詞pragma locationpragma required;通過使用關(guān)鍵詞,可將存儲(chǔ)器分配給絕對(duì)地址的數(shù)據(jù)對(duì)象或變量。必須用IAR關(guān)鍵詞__no_initconst(標(biāo)準(zhǔn)C關(guān)鍵詞)聲明這些變量或數(shù)據(jù)對(duì)象。請(qǐng)參見下文中__no_initconst、pragma locationpragma required的關(guān)鍵詞說明。

            pragma location

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

            pragma required

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

            __no_init

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

            例如:__no_init char MaximChar @ 0x0200;

            本例中,聲明為__no_init的變量被放在默認(rèn)數(shù)據(jù)存儲(chǔ)器(SRAM)的一個(gè)絕對(duì)地址。

            const

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

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


            圖4. IAR項(xiàng)目選項(xiàng)窗口

            例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
            本例中,存儲(chǔ)器分配為閃存地址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

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

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


            上一頁 1 2 3 下一頁

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

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉