国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

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

2020-01-26 14:08:58
字體:
供稿:網(wǎng)友

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

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

指令為 __at ,使用方法如下

int variable __at(0x8000) = 100;

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

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

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

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

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

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 方城县| 博爱县| 清徐县| 原平市| 平原县| 鹤庆县| 偃师市| 平乐县| 岗巴县| 驻马店市| 胶南市| 大姚县| 贺州市| 乌拉特前旗| 怀安县| 尚志市| 嘉峪关市| 邯郸市| 洪江市| 二连浩特市| 泌阳县| 紫金县| 泽库县| 通榆县| 石渠县| 手机| 张家川| 锡林郭勒盟| 双桥区| 尼勒克县| 邵阳市| 沂南县| 长汀县| 敖汉旗| 彩票| 丰镇市| 伊川县| 连平县| 达孜县| 明星| 日喀则市|