本文轉(zhuǎn)自公眾號,歡迎關(guān)注
未對齊導(dǎo)致問題案例 (qq.com)
前言
本文以一個實例,講解RISC-V未對齊訪問導(dǎo)致的問題.
未對齊導(dǎo)致的問題很常見,本文以實例分享調(diào)試分析過程。
過程
現(xiàn)象是程序進入了異常中斷函數(shù)exception()
先分部打端點,結(jié)合step單步運行,確認(rèn)執(zhí)行哪個函數(shù)的哪一句執(zhí)行后異常。
這里已經(jīng)確認(rèn)是rom_usb_uvc.c的984行執(zhí)行后異常。
在執(zhí)行異常的語句前打斷點
b rom_usb_uvc.c:984
再重新運行到該處
顯示匯編界面layout split
stepi
按照匯編單步執(zhí)行
最終確認(rèn)執(zhí)行匯編指令
lw a2,0(a1)
后異常
查看此時寄存器a1
的值。
(gdb) info reg a1
a1 0x28429ddd 675454429
stepi
執(zhí)行完`lw a2,0(a1)``后進入異常處理函數(shù)
查看此時mcause
寄存器
(gdb) info reg mcause
mcause 0x4 4
見<>
的<>.對應(yīng)Load address misaligned
。正是lw
指令寄存器a1
間接尋址非WORD
對齊地址0x28429ddd
導(dǎo)致。
即jpeg2usbpacket
函數(shù)傳入的指向緩沖區(qū)的指針參數(shù)非WORD
對齊導(dǎo)致。
所以修改緩沖區(qū)按照WORD對齊。
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
嵌入式
-
調(diào)試
-
程序
-
函數(shù)
-
RISC-V
相關(guān)推薦
siFive搞RISC-V
賽昉搞RISC-V
香山搞RISC-V
到底什么是RISC-V?
先不問有什么用,RISC-V目前的能力來說,工
發(fā)表于 02-02 10:41
態(tài)系統(tǒng)還不夠豐富。這可能導(dǎo)致軟件和工具的可用性受限,特別是在一些特定的應(yīng)用領(lǐng)域或開發(fā)環(huán)境中。開發(fā)者可能需要投入更多的時間和精力來尋找或開發(fā)適合RISC-V架構(gòu)的軟件和工具鏈。
碎片化風(fēng)險:由于RISC-V的開源性
發(fā)表于 07-29 17:18
什么是RISC-V?RISC-V指令具有哪些特點應(yīng)用?自己怎么才能設(shè)計出設(shè)計一套指令集?
發(fā)表于 10-14 09:05
RISC-V 發(fā)展2015年成立了RISC-V基金會,這是個非營利性組織,主要為了維護和發(fā)展RISC-V。目前RISC-V的IP供應(yīng)商大部分是國內(nèi)的廠商,例如sifive、阿里平頭哥、
發(fā)表于 04-14 10:18
轉(zhuǎn)自公眾號,歡迎關(guān)注
參考https://mp.weixin.qq.com/s/8wfRFg1XcBsXw5gMq-cKaQ前言 本文以一個實例,講解RISC-V未對齊訪問導(dǎo)致的問題.
發(fā)表于 05-06 19:14
隨各大行業(yè)巨頭紛紛投入RISC-V,帶動指令集之爭再起,RISC-V的靈活性帶給業(yè)者客制化自主芯片的空間,且在終端產(chǎn)品中達成差異化,然正因如此,各業(yè)者發(fā)展出的RISC-V芯片在未制定行
發(fā)表于 02-05 08:45
?3326次閱讀
RISC-V的關(guān)注度越來越高,開源的理念也正在被越來越多的開發(fā)者和公司接受。對于尚不成熟的RISC-V而言,無論是規(guī)范和技術(shù)的演進還是生態(tài)的建設(shè),還有人才和專利都還有不小挑戰(zhàn)。2021年RISC-V
發(fā)表于 02-11 10:10
?3170次閱讀
在第一屆RISC-V中國峰會上看點很多,RISC-V是開源的,那么代碼密度要怎么控制,會不會因為開源而導(dǎo)致代碼密度特別大? 我們一起來看看risc-v峰會其中一個非常重要的亮點;卡姆派
發(fā)表于 06-23 18:22
?9674次閱讀
體系架構(gòu)的變體中有100多個錯誤,涉及錯誤存儲和從內(nèi)存中檢索信息的順序不正確,如果不糾正,可能會導(dǎo)致RISC-V芯片上運行的軟件出現(xiàn)問題。RISC-V基金會表示,這些錯誤不會影響大多數(shù)版本的R
發(fā)表于 02-25 09:41
?2783次閱讀
國產(chǎn)處理器芯片起步較晚,從2013年至今,集成電路每年的進口額均超過了 2000 億美元。RISC-V和AI(人工智能)芯片是我國最有希望突破的領(lǐng)域之一。RISC-V使用的領(lǐng)域還是對于生態(tài)依賴比較
發(fā)表于 11-24 09:28
?2623次閱讀
北京時間2023年3月8日,openEuler加入RISC-V Landscape。 此次加入RISC-V Landscape,意味著openEuler在對RISC-V架構(gòu)的生態(tài)適配
發(fā)表于 03-13 18:40
?1333次閱讀
主題演講:RISC-V和RISC-V AI的未來(特邀講座)ppt分享
發(fā)表于 07-14 17:15
?16次下載
RISC-V設(shè)計支持工具,支持RISC-V技術(shù)的基礎(chǔ) ppt分享
發(fā)表于 07-14 17:15
?12次下載
沁恒在歷屆峰會上分享RISC-V在MCU領(lǐng)域的創(chuàng)新成果,和大家共同見證了本土RISC-V產(chǎn)業(yè)的成長。早在第一屆RISC-V中國峰會上,沁恒就公開了青稞RISC-V系列量產(chǎn)芯片的關(guān)鍵技術(shù)
發(fā)表于 08-30 18:18
?1474次閱讀
加入RISC-VAdvocate行列!我們正在尋找來自世界各地的RISC-V愛好者,通過全球推廣和參與,成為支持RISC-V進步的關(guān)鍵參與者。作為一名RISC-VAdvocate,您將
發(fā)表于 09-10 08:08
?372次閱讀
評論