參數(shù) | 參數(shù)名稱 | 說明 |
t | enable test mode | 進(jìn)入固件測試模式<br>當(dāng)出現(xiàn)下面的狀態(tài)會(huì)結(jié)束運(yùn)行并且打印出通過還是失敗的字樣,x3_gp寄存器的值為1 和 x17_a7寄存器的值為93時(shí),進(jìn)入了ecall異常就會(huì)觸發(fā)。x10_a0 寄存器的值為 0時(shí)打印pass字樣,否則打印fail字樣 |
T | enable trap debug mode | 使能異常調(diào)試模式,出現(xiàn)異常時(shí)會(huì)打印當(dāng)前異常的調(diào)試信息 |
d | enable debug mode | 打開虛擬機(jī)內(nèi)所有的調(diào)試選項(xiàng),輸出最詳細(xì)的調(diào)試信息,包括指令譯碼,處理執(zhí)行,當(dāng)前寄存器列表,csr列表等 |
c | print cst operation msg | 打開虛擬機(jī)的csr寄存器讀寫調(diào)試信息。讀寫csr寄存器的時(shí)候都會(huì)打印對(duì)應(yīng)的csr寄存器的值 |
a | diable all debug msg | 關(guān)閉所有調(diào)試選項(xiàng),譯碼調(diào)試默認(rèn)打開 |
x | enable test mode for exception | 打開異常測試模式,當(dāng)出現(xiàn)異常時(shí)結(jié)束運(yùn)行 |
g | enable better readability printing | 使用可讀性更好的方式打印信息 |
e | disable all error msg | 關(guān)閉所有的錯(cuò)誤信息打印 |
i | enable all instr debug msg | 打開所有指令調(diào)試信息打印 |
m | enable mmu debug msg | 打開mmu的遍歷調(diào)試信息 |
p | print mmu page 8 byte data | hexdump打印mmu頁表里的8字節(jié)數(shù)據(jù) |
P | print mmu page 4K Byte data | hexdump打印mmu頁表里的4K字節(jié)數(shù)據(jù) |
s | uart addr not use mmu translation | 啟用mmu翻譯時(shí),忽略u(píng)art的外設(shè)地址,在啟用了mmu的時(shí)候也可以直接通過uart原始物理地址來操作uart外設(shè) |
S | switch mode debug info | 打開切換mode時(shí)的調(diào)試信息,m-mode,s-mode和u-mode切換的時(shí)候都會(huì)打印調(diào)試信息 |
M | disable mmu err msg | 關(guān)閉mmu缺頁異常,訪問異常,加載異常的錯(cuò)誤信息 |
r | enable trap debug msg | 打印更詳細(xì)的進(jìn)入中斷的調(diào)試信息 |
A | enable addr translation debug print | 打印地址轉(zhuǎn)換的調(diào)試打印 |
L(n) | log mode | output_mode_sel n = 0 -> stdout<br> 1 -> log_buf UNIX SYS ONLY(buf_size:2900)<br> 2 -> none<br> 選擇虛擬機(jī)輸出的方式,1,直接標(biāo)準(zhǔn)輸出。2,使用一個(gè)buf先緩存,退出的時(shí)候再輸出bug大小2900Byte。3,不輸出。<br> |
l | enable endless loop check (RV_ENDLESS_LOOP_CHECK_EXIT_CNT:3) | 啟用死循環(huán)監(jiān)測機(jī)制,當(dāng)有連續(xù)3次出現(xiàn)同樣的指令執(zhí)行流程(包括寄存器和csr寄存器的值都沒有改變),結(jié)束虛擬機(jī)的運(yùn)行?梢源钆-L參數(shù)使用,方便調(diào)試固件。一般assert都是直接死循環(huán)。 |