日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。