国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 10880|回復: 2
打印 上一主題 下一主題

[提問] 位置無關代碼

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2013-12-28 15:57:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: 位置無關代碼 , LDR , PC
想用MDK生成位置無關的低碼,但有個問題過不去                                                                                                                                 代碼:LDR R0,__main
           BX   R0
對應反匯編代碼:
           0x0800024C  LDR R0,[PC,#12] ; @0x0800025C
           0x0800024E  BX   R0
            。。。。
           0x0800025C  DCW 0x0131
           .。。。。
MDK設置:MDK->read/only memory areas->on chip->IROM1 ->0x08000000
生成BIN文件后,下載到FLASH0x08000000處,運行正常。
LDR R0,__main后,R0被設成了0x08000131

MDK設置:MDK->read/only memory areas->on chip->IROM1 ->0x08000000
生成BIN文件后,下載到FLASH0x08004000處,運行就出錯了。
原因在于當運行到 LDR R0,__main后,R0仍被設成了0x08000131,而我想要的應該是0x08004131

MDK設置:MDK->read/only memory areas->on chip->IROM1 ->0x08004000
生成BIN文件后,下載到FLASH0x08004000處,運行正常。反匯編代碼變為:0x0800025C  DCW 0x0431
LDR R0,__main后,R0被設成了0x08004131

我本來是想得到一個BIN文件,不管下載到FLASH哪個位置,它都能正常運行,可從上面看來,在MDK中設置好IROM后,就只能下載到FLASH對應位置才能正常運行。

有誰能說說應該怎么做才能得到一個真正的位置無關代碼?(在使用LDR的情況下,片子為Cortex-M3的STM32F103)




沙發
發表于 2014-2-18 22:19:05 | 只看該作者
單片機編程往往離不開匯編,說實話匯編很少用了看不懂啦。
板凳
發表于 2015-2-2 11:30:47 | 只看該作者
新手,路過
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 韩国一级毛片在线观看 | 久久久久久久国产视频 | 在线一区免费播放 | 国产成人午夜性a一级毛片 国产成人午夜视频 | 国产伦精一区二区三区 | 国产中文字幕在线 | 欧美激情二区三区 | 日韩欧美精品综合一区二区三区 | 四虎在线永久视频观看 | 91视频中文 | 黑人最猛性free护士hd | 精品无人区一区二区三区a 精品无人区麻豆乱码1区2区 | 最新国产三级在线观看不卡 | 国产资源精品一区二区免费 | 精品国产一区二区二三区在线观看 | 欧美高清在线观看视频 | 久久国产亚洲 | 午夜视频精品 | 欧美成人免费全部观看天天性色 | 亚洲每日更新 | 国产精品va一级二级三级 | 久久午夜影视 | 国产精品福利在线观看免费不卡 | 欧美日韩国产免费一区二区三区 | 亚洲一区二区三 | 青青在线视频观看 | 麻豆精品视频 在线视频 | 天天干天天操天天拍 | 亚洲韩精品欧美一区二区三区 | 亚洲天堂男人在线 | 最新sss华人 | 久久亚洲这里只有精品18 | 国产不卡免费 | 操佟丽娅 | 99久久影视 | 国产欧美自拍视频 | 中国一级做a爰片久久毛片 中国一级特黄毛片 | 免费观看黄色网页 | 99热在线精品免费播放6 | 日本特一级| 国产免费小视频在线观看 |