亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
對于MIPS加電啟動U-boot的問題
[打印本頁]
作者:
星閃夜空
時間:
2014-11-17 20:07
標(biāo)題:
對于MIPS加電啟動U-boot的問題
對于MIPS加電啟動U-boot,有個問題我一直想不明白,希望大家能夠指導(dǎo)一下:CPU上電后會執(zhí)行一個固定地址0xbfc00000的代碼,一般存放有U-boot.bin的SPI Flash會映射到這個固定地址,也就是說CPU會執(zhí)行SPI Flash中的u-boot代碼,但是此時CPU中SPI Flash的控制器還沒有被初始化,那么CPU是如何訪問SPI Flash中的u-boot的呢?
作者:
arm-linux-gcc
時間:
2014-11-17 21:43
本帖最后由 arm-linux-gcc 于 2014-11-17 21:43 編輯
spi flash不會在這個地址
在這個地址是soc內(nèi)部的一個rom,這個rom里的固件(流片時就固化好的)會做一些初始化,然后讀取spi flash中的程序到ram中,然后跳到ram中去
作者:
星閃夜空
時間:
2014-11-18 09:13
回復(fù)
2#
arm-linux-gcc
主要是因為在網(wǎng)上看到hackpascal大俠講解U-boot的啟動流程(下圖紅線圈著的是引發(fā)我疑問的根源),不知道是不是我誤解了hackpascal大俠的意思?
無標(biāo)題.png
(80.92 KB, 下載次數(shù): 76)
下載附件
2014-11-18 09:12 上傳
作者:
arm-linux-gcc
時間:
2014-11-18 09:36
回復(fù)
3#
星閃夜空
我以前做過spi flash的驅(qū)動,spi flash是不能像nor flash那樣直接讀取,需要發(fā)送命令,所以soc內(nèi)部必須要有固件的輔助才能夠讀取spi flash中的內(nèi)容
作者:
星閃夜空
時間:
2014-11-18 09:56
回復(fù)
4#
arm-linux-gcc
非常感謝你的解答,我還有一個問題想請教你,對于u-boot源碼中的如下代碼:
/* Initialize GOT pointer.*/
bal 1f
nop
.word _GLOBAL_OFFSET_TABLE_
1:
move gp, ra #ra:存放返回地址
lw t1, 0(ra) #lw: 從存儲器中讀取一個字的數(shù)據(jù)到寄存器中
move gp, t1
_GLOBAL_OFFSET_TABLE_標(biāo)志應(yīng)該代表的是一個地址,不知道它起到什么作用?反正我搜索整個u-boot源碼,就沒有看到其他地址有使用到這個標(biāo)志的。
move gp, ra 這條指令應(yīng)該是將ra寄存器中的返回地址存入gp寄存器中,而
lw t1, 0(ra)
move gp, t1 這兩條指令應(yīng)該也是將ra寄存器中的返回地址存入gp寄存器中,不知道為什么要做兩次這樣的處理?
作者:
arm-linux-gcc
時間:
2014-11-18 12:43
本帖最后由 arm-linux-gcc 于 2014-11-18 12:43 編輯
回復(fù)
5#
星閃夜空
mips的匯編我不太清楚,我主要是搞arm的,mips只是知道一些cpu體系架構(gòu)方面的知識
作者:
星閃夜空
時間:
2014-11-18 13:56
回復(fù)
6#
arm-linux-gcc
沒事,還是謝謝了。
作者:
lysysjw
時間:
2015-03-26 19:41
/* Initialize GOT pointer.*/
bal 1f
nop
.word _GLOBAL_OFFSET_TABLE_
1:
move gp, ra #ra:存放返回地址
lw t1, 0(ra) #lw: 從存儲器中讀取一個字的數(shù)據(jù)到寄存器中
move gp, t1
_GLOBAL_OFFSET_TABLE_標(biāo)志應(yīng)該代表的是一個地址,不知道它起到什么作用?反正我搜索整個u-boot源碼,就沒有看到其他地址有使用到這個標(biāo)志的。
move gp, ra 這條指令應(yīng)該是將ra寄存器中的返回地址存入gp寄存器中,而
lw t1, 0(ra)
move gp, t1 這兩條指令應(yīng)該也是將ra寄存器中的返回地址存入gp寄存器中,不知道為什么要做兩次這樣的處理?
這段代碼主要用于uboot第二階段代碼的重定位, _GLOBAL_OFFSET_TABLE_這個是在編譯時產(chǎn)生的,我印象中是got表的首地址,最后三行代碼你解釋的是正確的,最后兩句沒有用。
回復(fù)
5#
星閃夜空
作者:
kefeiren
時間:
2015-04-12 22:04
應(yīng)該是連接地址
作者:
kefeiren
時間:
2015-04-12 22:05
我也是做這塊的,不過剛玩二個星期不夠
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2