久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

relocation failed: value out of range or illegal

作者:未知   來源:Levi之家的空間   點擊數:  更新時間:2014年08月16日   【字體:

最近在搞LPC43xx系列的雙核芯片,用的是IAR的編譯環境。

在給cortex-m0核添加匯編啟動代碼,以及在源文件中添加M0_M4CORE_IRQHandler服務程序的時候遇到一個錯誤。Error[Lp002]: relocation failded: value out of range or illegal:0xfffff5a0
              Kind: R_ARM_THM_JUMP11[0x66]
              Location: 0x10001514
                   Module:
                   Section: 16(.text)
                   Offset: 0x0
           Target: 0x10000ab9
                    "M0_M4CORE_IRQHandler"
                     Module:
                     Section: 8(.text)
                     Offset: 0xc1
剛開始一頭霧水,也不明白為什么會出現這樣的錯誤。google了好久,最后在一個俄文網站上找到了些靈感,哈哈,俄文網站當然是通過瀏覽器自帶的翻譯功能翻譯過來之后的。
 
是由于Location和Target的距離太遠引起的,當時并不明白為什么cortex-m4上并不會出現。查看cortex-m0的手冊,發現cortex-m0的指令是thumb指令是16位的。也許在B跳轉指令的時候,并不能夠跳轉到那么遠。
 
這個是明白了,可是怎么修改呢。查了半天IAR的函數定位和變量定位,也沒什么收獲。
其實我的這個工程都是從keil上移植過來的,后來想起在移植的時候,匯編程序中有些中斷并沒有完全給其分配空間,如圖
所以在IAR中也將一些中斷向量表中的中斷不分配空間,就可以編譯成功了。
 
但是還是不明白為什么會有Location和Target兩個地址呢?難道在啟動匯編代碼中的地址需要重映設?
以上講的不對的地方還望大家指出以及指點啊~~~
關閉窗口

相關文章

主站蜘蛛池模板: 国产精品精品视频一区二区三区 | 日韩国产精品一区二区三区 | 亚洲日韩欧美一区二区在线 | 久久久国产一区二区三区 | 91精品久久久久久久久99蜜臂 | 成年无码av片在线 | 欧美精品一区二区三区在线播放 | 欧美黑人一区 | 综合色播 | 亚洲一区二区三区四区五区午夜 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 成人在线观看免费视频 | 久久精品亚洲 | 99精品热视频 | 在线视频国产一区 | 精品福利av导航 | 精品国产乱码久久久久久蜜退臀 | 日韩欧美中文字幕在线观看 | 在线看h| 亚洲欧美日韩国产综合 | 91精品国产综合久久福利软件 | 成人福利视频网站 | 毛片视频观看 | 99这里只有精品 | 中文字幕视频在线免费 | 99精品久久久国产一区二区三 | 午夜精品久久久久久久久久久久 | 成人国产在线视频 | 久久久久精| 亚洲欧洲精品成人久久奇米网 | 91在线视频观看 | 成人在线激情 | 国产线视频精品免费观看视频 | 国产91在线 | 中日 | 在线观看午夜视频 | 97起碰| 日韩精品视频在线 | 久久国产欧美日韩精品 | 亚洲精品一区二区在线观看 | 中文字幕亚洲区 | 欧美一区二区在线视频 |