看板 ASM 關於我們 聯絡資訊
目前在學習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 請問這是為什麼? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.237.25 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1536288633.A.D9E.html
jamesho8743: 9c00 0000應該是 flash cached (kseg0)的位置 09/27 13:51
jamesho8743: Mips 採用的是fixed mapping MMU bfc00000 和9fc0000 09/27 14:02
jamesho8743: 0 是同一位址 你google "mips fixed mapping"就可 09/27 14:02
jamesho8743: 以查到相關資料 以pic32mx 來說 flash cached 是從9d 09/27 14:02
jamesho8743: 000000開始 所以9c000000應該是flash的位址 09/27 14:02
jamesho8743: Interrupt vector table 設在flash 是很合理的 因為 09/28 09:45
jamesho8743: 預設的bfc00000可能是rom無法寫入 09/28 09:45
jamesho8743: 如果你要問的是為什麼是9c000380 http://winfred-lu. 09/28 09:57
jamesho8743: blogspot.com/2011/04/mips-exceptions-initializati 09/28 09:57
jamesho8743: on-and.html 寫得很清楚 這只是中斷的機制 ebase 控 09/28 09:57
jamesho8743: 制exception vector table default 80000000 rbase d 09/28 09:57
jamesho8743: efault bfc00000 根據bev 0或1 選擇ebase 或rbase 09/28 09:57
ice0803: 謝謝你的回答 我了解你的意思 但我只是很不解 應該停在 k 09/29 23:26
ice0803: seg1 為什麼 ocd commander是顯示在 kseg0 尤其是我 flas 09/29 23:26
ice0803: h是空的情況下 09/29 23:26
bfc00000: bfc00000 報到一下 10/23 10:39