新聞中心

        keil中的存儲(chǔ)模式

        作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
        存儲(chǔ)模式

          存儲(chǔ)模式?jīng)Q定了默認(rèn)的存儲(chǔ)器類型此存儲(chǔ)器類型將應(yīng)用于函數(shù)參數(shù)局部變量和定義時(shí)未包含存儲(chǔ)器類型的變量你可以在命令行用SMALL COMPACT和LARGE參數(shù)定義存儲(chǔ)模式,定義變量時(shí)使用存儲(chǔ)器類型顯式定義將屏蔽默認(rèn)存儲(chǔ)器類型。

        本文引用地址:http://www.104case.com/article/201611/317506.htm


        小(SMALL)模式
          所有變量都默認(rèn)在8051的內(nèi)部數(shù)據(jù)存儲(chǔ)器中。這和用data顯式定義變量起到相同的作用。在此模式下,變量訪問是非常快速的,然而所有數(shù)據(jù)對(duì)象,包括堆棧都必須放在內(nèi)部RAM中。堆棧空間面臨溢出因?yàn)槎褩K加枚嗌倏臻g依賴于各個(gè)子程序的調(diào)用嵌套深度。在典型應(yīng)用中如果具有代碼分段功能的BL51連接/定位器被配置成覆蓋內(nèi)部數(shù)據(jù)存儲(chǔ)器中的變量時(shí),此SMALL模式是最好的選擇

        緊湊 COMPACT 模式
          此模式中,所有變量都默認(rèn)在8051的外部數(shù)據(jù)存儲(chǔ)器的一頁中地址的高字節(jié)往往通過Port 2輸出 ,其值必須由你在啟動(dòng)代碼中設(shè)置編譯器不會(huì)為你設(shè)置這和用pdata顯式定義變量起到相同的作用。此模式最多只能提供256字節(jié)的變量這種限制來自于間接尋址所使用的R0,R1 MOVX @R0/R1。 這種模式不如SMALL模式高效所以變量的訪問不夠快,不過它比LARGE模式要快。


        大 LARGE 模式
          在大模式下,所有的變量都默認(rèn)在外部存儲(chǔ)器中(xdata )。這和用xdata顯式定義變量起到相同的作用。數(shù)據(jù)指針DPTR 用來尋址。通過DPTR進(jìn)行存儲(chǔ)器的訪問的效率很低,特別是在對(duì)一個(gè)大于一個(gè)字節(jié)的變量進(jìn)行操作時(shí)尤為明顯 ,此數(shù)據(jù)訪問類型比SMALL和COMPACT模式需要更多的代碼。



        關(guān)鍵詞: keil存儲(chǔ)模

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 科尔| 梁河县| 济源市| 石狮市| 富源县| 漯河市| 长子县| 大渡口区| 卢龙县| 宜州市| 上林县| 那曲县| 玛多县| 嘉义市| 元朗区| 延庆县| 中卫市| 南和县| 深水埗区| 嘉峪关市| 察雅县| 祁东县| 东乌珠穆沁旗| 库尔勒市| 陇川县| 高淳县| 榆林市| 渑池县| 黎城县| 株洲县| 临江市| 屯昌县| 武强县| 赤壁市| 平安县| 长宁区| 德兴市| 甘孜县| 历史| 探索| 酉阳|