最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中 “_at()” 特殊地址定位詳解

 更新時(shí)間:2017年05月14日 09:28:16   作者:木十化  
這篇文章主要介紹了C語言中 “_at()” 特殊地址定位詳解的相關(guān)資料,需要的朋友可以參考下

C語言中 “_at()” 特殊地址定位詳解

在keil里面,有一個(gè)特殊地址定位的指令,就是將一個(gè)變量或常量定位到一個(gè)指定的地址上面

指令為 __at ,使用方法如下

int variable __at(0x8000) = 100;

意為將variable變量定位到0x8000這個(gè)地址。

指令的目的是告訴鏈接器將指定地址定位到某個(gè)地址里面,在使用該功能的時(shí)候需要注意一點(diǎn)的是,地址的范圍需要符合單片機(jī)的datasheet給出的地址映射表,

注意,如果地址超出了flash的最大范圍,程序?qū)o法得到這個(gè)值,例如一個(gè)256Kflash的芯片,在使用功能__at指令的時(shí)候,地址就不要超過256*1024了,否則你是找不到這個(gè)變量的。

下面以MB9AF310系列芯片為例,講一下關(guān)于芯片的flash在內(nèi)存中的映射,

如圖,flash被映射到了0x00000000這個(gè)地址上,以0x00100000結(jié)束,但是仍然需要看具體芯片的flash是多大的,這個(gè)地址只是310系列芯片的地址映射,如果超出了實(shí)際的地址,仍然不能找到變量。

keil的鏈接器最后會(huì)把變量放到生成文件的相應(yīng)地址中去,在燒錄的時(shí)候,如果是BIN文件,文件的字節(jié)地址會(huì)和flash的地址一一對(duì)應(yīng)。用戶定義的變量將被燒錄到相應(yīng)的flash的物理地址中。以上都是在沒有MMU的情況的關(guān)于地址映射的解釋,如果啟用了MMU,情況也許會(huì)不一樣,畢竟多了一層虛擬地址,實(shí)際上還能不能使用__at指令,我也不知道,后續(xù)筆者會(huì)繼續(xù)鉆研,更多關(guān)于__at指令的說明,可以直接在keil的幫助文件中找到。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Cocos2d-x UI開發(fā)之場景切換代碼實(shí)例

    Cocos2d-x UI開發(fā)之場景切換代碼實(shí)例

    這篇文章主要介紹了Cocos2d-x UI開發(fā)之場景切換代碼實(shí)例,cocos2d-x中的場景切換是通過導(dǎo)演類調(diào)用相應(yīng)的方法完成的,本文通過代碼和詳細(xì)注釋來說明,需要的朋友可以參考下
    2014-09-09
  • C++數(shù)據(jù)結(jié)構(gòu)之哈希表的實(shí)現(xiàn)

    C++數(shù)據(jù)結(jié)構(gòu)之哈希表的實(shí)現(xiàn)

    哈希表,即散列表,可以快速地存儲(chǔ)和查詢記錄。這篇文章主要為大家詳細(xì)介紹了C++數(shù)據(jù)結(jié)構(gòu)中哈希表的實(shí)現(xiàn),感興趣的小伙伴可以了解一下
    2023-03-03
  • C++ push方法與push_back方法的使用與區(qū)別

    C++ push方法與push_back方法的使用與區(qū)別

    這篇文章主要介紹了C++ push方法與push_back方法的使用與區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 老生常談C語言靜態(tài)函數(shù)庫的制作和使用

    老生常談C語言靜態(tài)函數(shù)庫的制作和使用

    下面小編就為大家?guī)硪黄仙U凜語言靜態(tài)函數(shù)庫的制作和使用。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-08
  • C語言中typedef的用法以及#define區(qū)別詳解

    C語言中typedef的用法以及#define區(qū)別詳解

    這篇文章主要給大家介紹了關(guān)于C語言中typedef用法以及#define區(qū)別的相關(guān)資料,typedef 是用來定義一種類型的新別名的,它不同于宏(#define),不是簡單的字符串替換。而#define只是簡單的字符串替換(原地?cái)U(kuò)展),需要的朋友可以參考下
    2021-07-07
  • C語言入門之淺談數(shù)據(jù)類型和變量常量

    C語言入門之淺談數(shù)據(jù)類型和變量常量

    這篇文章主要為大家介紹了C語言數(shù)據(jù)類型和變量常量,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • QML與C++幾種交互方式

    QML與C++幾種交互方式

    QML作為構(gòu)建界面的語言是非常簡潔的,但是界面的后臺(tái)有些時(shí)候是經(jīng)常要與C++交互的,本文主要介紹了QML與C++幾種交互方式,感興趣的可以了解一下
    2024-04-04
  • C語言菜鳥基礎(chǔ)教程之單精度浮點(diǎn)數(shù)與雙精度浮點(diǎn)數(shù)

    C語言菜鳥基礎(chǔ)教程之單精度浮點(diǎn)數(shù)與雙精度浮點(diǎn)數(shù)

    在C語言中,單精度浮點(diǎn)數(shù)(float)和雙精度浮點(diǎn)數(shù)(double)類型都是用來儲(chǔ)存實(shí)數(shù)的,雙精度是用記憶較多,有效數(shù)字較多,數(shù)值范圍較大。
    2017-10-10
  • QT編寫地圖實(shí)現(xiàn)設(shè)備點(diǎn)位的示例代碼

    QT編寫地圖實(shí)現(xiàn)設(shè)備點(diǎn)位的示例代碼

    在地圖應(yīng)用的相關(guān)項(xiàng)目中,在地圖上標(biāo)識(shí)一些設(shè)備點(diǎn),并對(duì)點(diǎn)進(jìn)行交互這個(gè)功能用的最多的,于是需要一套機(jī)制可以動(dòng)態(tài)的添加、刪除、清空、重置。本文將詳細(xì)介紹這些功能如何實(shí)現(xiàn),需要的可以參考一下
    2022-01-01
  • C語言實(shí)現(xiàn)二叉樹層次遍歷介紹

    C語言實(shí)現(xiàn)二叉樹層次遍歷介紹

    大家好,本篇文章主要講的是C語言實(shí)現(xiàn)二叉樹層次遍歷介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01

最新評(píng)論

建平县| 赤城县| 丘北县| 和硕县| 北流市| 黑水县| 沧源| 张家界市| 南陵县| 海安县| 佛坪县| 辽中县| 黄梅县| 儋州市| 吴桥县| 闻喜县| 娱乐| 策勒县| 九龙县| 大英县| 葵青区| 陈巴尔虎旗| 桦川县| 恩平市| 北安市| 隆德县| 广安市| 闵行区| 台北市| 佳木斯市| 海南省| 屏南县| 比如县| 抚远县| 贞丰县| 锦州市| 称多县| 军事| 上犹县| 常德市| 衡南县|