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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

inside uboot (三) 异常向量表

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 inside uboot (三) 异常向量表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 異常向量表概述

從上面的地址映射來看,中斷向量表的地址為0xD0037400,因此如果我們想在SRAM中,也就是BL1中處理異常的話,

就需要把我們的異常向量表拷貝到這個地址上。或者我們可以在鏈接腳本中直接指定代碼的地址。

如果在主內存中,我們要使用異常向量表的話,我們需要配置CP15協處理器中的VBAR寄存器。

2. 中斷向量表代碼

_start: b resetldr pc, _undefined_instructionldr pc, _software_interruptldr pc, _prefetch_abortldr pc, _data_abortldr pc, _not_usedldr pc, _irqldr pc, _fiq #ifdef CONFIG_SPL_BUILD _undefined_instruction: .word _undefined_instruction _software_interrupt: .word _software_interrupt _prefetch_abort: .word _prefetch_abort _data_abort: .word _data_abort _not_used: .word _not_used _irq: .word _irq _fiq: .word _fiq _pad: .word 0x12345678 /* now 16*4=64 */ #else _undefined_instruction: .word undefined_instruction _software_interrupt: .word software_interrupt _prefetch_abort: .word prefetch_abort _data_abort: .word data_abort _not_used: .word not_used _irq: .word irq _fiq: .word fiq _pad: .word 0x12345678 /* now 16*4=64 */ #endif /* CONFIG_SPL_BUILD */

從上面代碼可以看出,b reset后面就是異常向量表了,但是異常向量表的實際函數地址被通過一個CONFIG_SPL_BUILD的

宏分別定義。v210 的uboot被同過這個宏分別編譯成了兩個uboot,BL1和BL2,一個在SRAM中執行,一個在主內存中執行。

從上面代碼可以看出,BL1中的異常函數什么也沒有做,BL2中是有真正的實際用途的異常函數。

3. 設置異常向量表,在BL1中的異常向量表地址應該設置在0xD0037400這個地址上。但是搜索了整個uboot代碼,并沒有找

到。可以是因為BL1中的異常函數本身沒有用處吧。下面說一下,在BL2中的異常向量表的地址設置。

4. BL2中的異常向量表設置代碼。

/* Set V=0 in CP15 SCTRL register - for VBAR to point to vector */mrc p15, 0, r0, c1, c0, 0 @ Read CP15 SCTRL Registerbic r0, #CR_V @ V = 0mcr p15, 0, r0, c1, c0, 0 @ Write CP15 SCTRL Register

首先操作CP15的SCTLR寄存的的第13位為0,目的是將異常向量的基地址設置為0。

datasheet手冊的寄存器說明見下圖。

?

/* Set vector address in CP15 VBAR register */ldr r0, =_startmcr p15, 0, r0, c12, c0, 0 @Set VBAR

然后將異常向量表的地址設置到VBAR寄存器中,寄存器的地址說明見下圖。

?

總結

以上是生活随笔為你收集整理的inside uboot (三) 异常向量表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。