无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網 會員登陸 & 注冊

14.3異常與中斷_Thumb指令集程序示例

2020-08-27 15:22 作者:韋東山  | 我要投稿

在上節(jié)視頻里說ARMCPU有兩種狀態(tài)

ARM State 每條指令會占據4byte

Thumb State 每條指令占據2byte


我們說過Thumb指令集并不重要,本節(jié)演示把一個程序使用Thumb指令集來編譯它

使用上一章節(jié)的重定位代碼,打開Makefile和Start.S

Makefile文件?

對于使用Thumb指令集?

改進

對start.S需要修改代碼

原重定位章節(jié)Start.S文件?

使用thumb指令集的Start.S文件?

上傳代碼編譯測試

出現錯誤,如下?

發(fā)現是init,o里sdram_init2使用的了memcpy函數

查看init.c?

文章說沒有什么方法禁用memecpy但是可以修改這些變量

比如說將其修改為靜態(tài)變量,這些數據就會放在數據段中,最終重定位時會把數據類拷貝到對應的arr地址里面去?

拷貝進行實驗

得出bin文件有1.4k左右

查看之前的文件使用ARM指令集是2K左右

查看反匯編代碼?

如果你的flash很小的話可以考慮使用Thumb指令集


燒寫進去看是否可以運行

測試結果沒有任何問題

Thumb指令集后面沒有任何作用,只是簡單作為介紹?


14.3異常與中斷_Thumb指令集程序示例的評論 (共 條)

分享到微博請遵守國家法律
南和县| 郯城县| 西峡县| 麦盖提县| 河池市| 怀安县| 鲁山县| 叙永县| 措美县| 鹤庆县| 华坪县| 禄丰县| 海南省| 鹿邑县| 闽清县| 重庆市| 陆河县| 三台县| 德惠市| 梨树县| 兴和县| 绍兴县| 广元市| 四子王旗| 辉南县| 泌阳县| 伽师县| 太白县| 高淳县| 固阳县| 沁水县| 漳平市| 布尔津县| 濮阳市| 上犹县| 孙吴县| 耿马| 西丰县| 鄂州市| 苏尼特右旗| 花垣县|