日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

u-boot新增命令后出现data abort

發(fā)布時(shí)間:2025/3/8 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 u-boot新增命令后出现data abort 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

(一)問(wèn)題描述

u-boot下新增了一條update的命令,直接輸入update沒(méi)有報(bào)錯(cuò),但是輸入up按TAB鍵補(bǔ)全時(shí)發(fā)現(xiàn)出現(xiàn)data abort,而且輸入不支持的命令也會(huì)有data abort

(二)解決方法

最開(kāi)始我包含的頭文件為:

#include <command.h> #include <common.h>

頭文件改為下面后問(wèn)題解決,但順序不是最重要的原因,而是我用到了strncmp函數(shù),頭文件包含順序出錯(cuò)

#include <common.h> #include <command.h>

修改完成后效果:

(三)定位思路

1.最開(kāi)始嘗試下文的方法: 記一次uboot 中出現(xiàn)的 data abort 錯(cuò)誤,文章寫(xiě)得很不錯(cuò),但是當(dāng)我反匯編以后,并沒(méi)有解決問(wèn)題,但是大概的問(wèn)題可能找到了,按照上文提供的思路:
首先在mainloop函數(shù)打印出gd->reloc off = 13b000 ,出錯(cuò)PC的指針23f5fa6c,兩者相減得到23e24a6c,查看反匯編語(yǔ)言得到:

這里只是看到可能是strncmp有問(wèn)題,但是具體是誰(shuí)調(diào)用了strncmp出錯(cuò)并沒(méi)有給出,考慮是不是頭文件的原因,加上linux/string.h頭文件后,不用改變上面說(shuō)的command.h和common.h的順序也可以了
這里定位就到這里,問(wèn)題已解決,待深究問(wèn)題?為什么編譯的時(shí)候沒(méi)有報(bào)錯(cuò),而是執(zhí)行的時(shí)候報(bào)錯(cuò)了,理論來(lái)說(shuō)頭文件不包含編譯就會(huì)報(bào)警告的

總結(jié)

以上是生活随笔為你收集整理的u-boot新增命令后出现data abort的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。