Re: [問題] MIPS32 24kec 異常位址

作者: ice0803 (缺人SpotifyFamily)   2018-10-24 22:32:51
※ 引述《bfc00000 (mips)》之銘言:
: 找了一下 datasheet 都沒提到 memory map....
: MT7688_Datasheet_v1_4.pdf
: 從mtk7688管網找到 build bootcode的方法 連到 github下找
: 注意到:build的 bootcode是放在 TEXT_BASE=0xBC000000
: cache address是在 9c000000,
: 住意不是 bfc00000, 代表在 bfc00000已經有 romcode了。
: 你可以用 ice讀
: 0xbc000000是不是你 flash內容,
: 以及 0xbfc00000 作反組譯 看能不能反出有意義的 text code.
: 附上 找 mtk7688的過程
: mtk7688介紹:
: https://docs.labs.mediatek.com/resource/linkit-smart-7688/
: en/tutorials/firmware-and-bootloader/bootloader-and-kernel-console
: Step 1 — Get bootloader source code
: Clone the UBOOT source from GitHub repository.
: 連到 github
: https://github.com/MediaTek-Labs/linkit-smart-7688-uboot
: 尋找:TEXT_BASE
: https://github.com/MediaTek-Labs/linkit-smart-7688-uboot/
: search?q=TEXT_BASE&unscoped_q=TEXT_BASE
: .config
: TEXT_BASE=0xBC000000
: config.mk
: CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS) \
: -D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE) \
: -I$(TOPDIR)/include \
: LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
: Step 3 — Build and upload the modified bootloader
: Now build the bootloader and upload it to the board.
儘量讓情況單純的情況下,
nor flash 完全清除,沒有任何的程式
所以上電之後,CPU一定會一開始就讀到錯誤指令
然後直接跳轉到異常中斷位址,根據MIPS 的資料他也應該跳轉到0xbc開頭才對
但用這個ICE卻顯示跳轉到 0x9c,這是我覺得困惑的地方。
: ※ 引述《ice0803 (SoFarSoGood)》之銘言:
: : 目前在學習MIPS32 24Kec的cpu架構
: : 使用 usbWiggler™ - Macraigor Systems LLC
: : 用 Ocd Commander程式透過 jtag上觀察cpu的register
: : 目前環境是 flash是完全清除下,也就是0xFFFFF....
: : 照 MIPS的文件上說他會從 0xbfc00000開始讀指令
: : https://www.dropbox.com/s/7x3hmo5qv1vrs1q/Exception%20Vectors.jpg?dl=0
: : 但讀到0xffffffff之後,因為解不出來,所以產生exception
: : 理論上 PC應該是跳轉到0xbfc00380才對
: : 但在 Ocd Commander 卻顯示0x9c000380
: : https://www.dropbox.com/s/iv65dpmdo09g5q6/issue.jpg?dl=0
: : 請問這是為什麼?
: : 謝謝大家
作者: kikiqqp (喵食罐頭)   2018-10-25 13:30:00
boot也清除了嗎?
作者: ice0803 (缺人SpotifyFamily)   2018-10-27 10:24:00
根據板友的回覆 應該是rom裡的code沒有被清除 我也沒有工具可以清除,所以power on時先執行rom,再跳轉flash上的uboot
作者: jamesho8743 (加拿大好美)   2018-11-01 10:07:00
應該是這樣沒錯 位址在 9xxx 表示rom code 被執行TLB己設定過了並跳到flash

Links booklink

Contact Us: admin [ a t ] ucptt.com