如何燒寫u boot到SD卡

2022-05-10 17:56:20 字數 2411 閱讀 9353

1樓:匿名使用者

moveq r3, #boot_mmcsd/* nor boot */cmp r2, #0x14moveq r3, #boot_nor#if 0 /* android c110 bsp uses onenand booting! *//* for second device booting *//* onenand bootong failed */cmp r2, #0x8moveq r3, #boot_sec_dev#endif/* uart bootong failed */cmp r2, #(0x1<<4)moveq

r3, #boot_sec_devldr r0, =inf_reg_basestr r3, [r0, #inf_reg3_offset] //將配置值存入到使用者使用的暫存器中,方便以後使用的時候讀取此暫存器來了解此次啟動時從何種外部儲存裝置啟動

//ldr sp, =0xd0036000 /* end of sram dedicated to u-boot */

ldr sp, =0xd0035400 //bl1段的函式進行操作的堆疊位置,這裡我修改了堆疊到了0xd0035400是由於圖2中所示bl0**進行了它自己**堆疊的初始化,而rw/zi region heap的最低部就位於0xd0035400,為了不修改bl0堆疊和bl0**已經寫好的一些函式功能(會在下面用到),我將堆疊修改到了0xd0035400

sub sp, sp, #12 /* set stack */

mov fp, #0

bl lowlevel_init /* go setup pll,mux,memory */ //這裡會進行始終,記憶體,串列埠初始化

之後執行到

ldr sp, _text_phy_base /* setup temp stack pointer */ //由於上面一步已經初始化了dram,所以在這裡將以後的堆疊設定到了dram中的位置(以後bl2**中函式都是基於此堆疊)

sub sp, sp, #12

mov fp, #0 /* no previous frame, so fp=0 */

/* when we already run in ram, we don't need to relocate u-boot.

* and actually, memory controller must be configured before u-boot

* is running in ram.

*/ldr r0, =0xff000fff

bic r1, pc, r0 /* r0 <- current base addr of code */

ldr r2, _text_base /* r1 <- original base addr in ram */ //載入程式要執行的編譯地址,同現在程式執行的地址比較

bic r2, r2, r0 /* r0 <- current base addr of code */

cmp r1, r2 /* compare r0, r1 */

beq after_copy /* r0 == r1 then skip flash copy */ //如果兩地址相等,**程式已經再dram中執行不必再拷貝,不相等代表程式沒有在編譯地址執行,還要拷貝**到編譯地址去,最後跳到對應編譯地址內執行**。

ldr r0, =inf_reg_base

ldr r1, [r0, #inf_reg3_offset]

cmp r1, #boot_nand /* 0x0 => boot device is nand */

beq nand_boot

cmp r1, #boot_onenand /* 0x1 => boot device is onenand */

beq onenand_boot

cmp r1, #boot_mmcsd

beq mmcsd_boot

cmp r1, #boot_nor

beq nor_boot

cmp r1, #boot_sec_dev

beq mmcsd_boot //**判斷要拷貝後,讀取之前存入到使用者使用暫存器中的值來判斷此次啟動從何種外部儲存裝置啟動,這裡為sd卡啟動

~~~~~省略若干**~~~~~~~~

mmcsd_boot:

#if delete

ldr sp, _text_phy_base

sub sp, sp, #12

mov fp, #0

#endif

bl movi_bl2_copy //最後bl1**來到此處從sd卡拷貝剩餘的**

b after_copy

SD卡出錯,如何恢復,空sd卡如何修復

可能是你點了格式化了 但是格式化不完全 或者是有病毒影響 有專門的軟體可以找回部分 這要看你的命運了 格式化之後 如果卡還能時候 那就沒問題 而且sd卡 本身就不是很穩定 cf卡 穩定所以 sd卡 比cf卡便宜 好幾倍 匯出一半出錯,是否匯出資料過程中碰到了資料線?先重啟一次電腦試試,不行就換部電腦...

sd卡如何使用

sd卡就是儲存bai卡,作用就和duu盤 行動硬碟 硬碟一zhi樣都是用來存資料資料dao的回介質。不同使用途徑,將sd卡插在答一切帶有 sd 標誌的 mp4 數碼相機 手機的sd卡槽裡 按照提示標誌才能正確安裝使用 然後錄音 攝像 拍照.或者連線電腦傳輸資料 載歌 存 名片等等。松下的復sd卡隨身...

沒有SD卡,如何增加內部儲存空間呢?

其實sd卡的作用就是一個移動的儲存空間,而我們手機中原來就配有一個硬碟作為儲存空間,我們也可以以通過購買更大的手機內部硬碟來擴充套件手機記憶體。首先可以把手機裡面的一些殘餘垃圾給清除掉,這樣可以有效地增加內部儲存空間了。也能防止手機卡頓。那麼我們就需要清理一些不必要的東西。首先清理一些垃圾。然後解除...