當前位置:
首頁 >
u-boot新增命令后出现data abort
發布時間:2025/3/8
30
豆豆
生活随笔
收集整理的這篇文章主要介紹了
u-boot新增命令后出现data abort
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(一)問題描述
u-boot下新增了一條update的命令,直接輸入update沒有報錯,但是輸入up按TAB鍵補全時發現出現data abort,而且輸入不支持的命令也會有data abort
(二)解決方法
最開始我包含的頭文件為:
#include <command.h> #include <common.h>頭文件改為下面后問題解決,但順序不是最重要的原因,而是我用到了strncmp函數,頭文件包含順序出錯
#include <common.h> #include <command.h>修改完成后效果:
(三)定位思路
1.最開始嘗試下文的方法: 記一次uboot 中出現的 data abort 錯誤,文章寫得很不錯,但是當我反匯編以后,并沒有解決問題,但是大概的問題可能找到了,按照上文提供的思路:
首先在mainloop函數打印出gd->reloc off = 13b000 ,出錯PC的指針23f5fa6c,兩者相減得到23e24a6c,查看反匯編語言得到:
這里只是看到可能是strncmp有問題,但是具體是誰調用了strncmp出錯并沒有給出,考慮是不是頭文件的原因,加上linux/string.h頭文件后,不用改變上面說的command.h和common.h的順序也可以了
這里定位就到這里,問題已解決,待深究問題?為什么編譯的時候沒有報錯,而是執行的時候報錯了,理論來說頭文件不包含編譯就會報警告的
總結
以上是生活随笔為你收集整理的u-boot新增命令后出现data abort的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 省呗一直在打款中什么意思
- 下一篇: maven deploy上传私服出错