新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Keil Cx51編譯器編譯模式

        Keil Cx51編譯器編譯模式

        作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
        Keil Cx51編譯器提供三條編譯模式控制命令:SMALL,COMPACT,LARGE,它們對變量存儲器空間的影響如下。
        SMALL:所有變量都被定義在8051單片機的片內(nèi)RAM中,對這種變量的訪問速度最快。另外,堆棧也必須位于片內(nèi)RAM中,而堆棧的長度是很重要的,實際棧長取決與不同函數(shù)的嵌套深度。采用SMALL編譯模式與定義變量時指定data存儲器類型具有相同效果。

        COMPACT:所有變量被定義在分頁尋址的片外XRAM中,每一頁片外XRAM的長度為256字節(jié)。這時對變量的訪問是通過寄存器間接尋址(MOVX @R0,MOVX @R1)進行的,變量的低8位地址由R0和R1確定,變量的高8位地址由P2口確定。采用這種模式時,必須適當(dāng)改變配置文件STARTUP.A51中的參數(shù):PDATASTART和PDATALEN;同時還必須對uVision2的“Options選項/BL51 Locator 標(biāo)簽頁/Pdata框”中鍵入合適的地址參數(shù),以確保P2口能輸出所需要的高8位地址。采用COMPACT編譯模式與定義變量時指定pdata存儲器類型具有相同效果。

        LARGE:所有變量被定義在片外XRAM中(最大可達(dá)64KB),使用數(shù)據(jù)指針DPTR來間接訪問變量(MOVX @DPTR),這種編譯模式對數(shù)據(jù)訪問的效率最低,而且將增加程序的代碼長度。采用LARGE編譯模式與定義變量時指定xdata存儲器類型具有相同效果。”


        關(guān)鍵詞: KeilCx51編譯器編譯模

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 灵宝市| 松江区| 北辰区| 吉首市| 安国市| 高雄市| 阿拉善盟| 广河县| 潞城市| 晋州市| 昌邑市| 永定县| 南澳县| 武胜县| 南岸区| 镇安县| 马龙县| 南漳县| 徐汇区| 梅河口市| 鄂托克旗| 若羌县| 仁寿县| 黑山县| 临洮县| 崇州市| 宁武县| 西青区| 错那县| 饶河县| 巧家县| 兴和县| 尉氏县| 疏勒县| 龙泉市| 临清市| 寻乌县| 镇平县| 胶州市| 汕尾市| 宁津县|