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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Exynos 4412启动过程(群聊笔记记录)

發布時間:2025/4/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Exynos 4412启动过程(群聊笔记记录) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、Exynos 4412的0地址:

可以看到0x0000_0000?叫做iROM,一共64K。主要功能是根據外部撥碼開關選擇啟動方式。這部分代碼是三星固化好的,我們只需要知道怎么撥碼選擇啟動方式。

2、撥碼方式:

iROM里的程序就會首先去1st里找程序,如果找不到,然后再去2nd卡里找程序。?

iROM執行以后,會到外部找程序,找到以后,要拷貝8K(后面版本可能不一樣,有15K等,如下圖就是15K)的程序到內部RAM,這8K的程序就是?BL1(bootloader1)。這部分是三星自己寫的,就是這個文件E4412_N.bl1.SCP2G.bin。不開源的。uboot在編譯完成后,把BL1和自己拼接到了一起。

我們來看看uboot是怎么把BL1和自己拼接在一起的。uboot的編譯腳本如下:

if?[?-z?$1?] then .ild_uboot.sh else .ild_uboot.sh?$1 fi

實際是執行了另一個腳本:build_uboot.sh

我們打開build_uboot.sh,里面有一句話:(本來是一行的,我拆成7行。方便大家看)

cat? E4412_N.bl1.SCP2G.bin? bl2.bin? all00_padding.bin? u-boot.bin? tzsw_SMDK4412_SCP_2GB.bin? >?u-boot-iTOP-4412.bin

這個是什么意思呢?就是把">"前面幾個拼接成一個uboot-iTOP-4412.bin。

第一個文件:E4412_N.bl1.SCP2G.bin?
這個就是BL1??,剛才說過的,前8K就是他,三星給的,神秘兮兮的

第二個文件:bl2.bin?
這個是BL2,也就是BL1執行后要加載的文件,是Uboot的前14K(后面版本也有其他大小的,如下圖就是16K)截取的。

第三個文件:?all00_padding.bin
這個完全是為了補齊用的,里面全是0000

第四個:u-boot.bin?
這個才是真正的uboot源碼編譯出來的鏡像文件

最后一個文件是:tzsw_SMDK4412_SCP_2GB.bin?這個是ARM的一項新技術,也就是trustzoon技術,為了系統安全用的,大家可以不管他。

3、最后總結下:

iROM-->BL1--->BL2---->uboot---->zImage---->掛接文件系統

4、補充:

BL1在哪里運行?誰知道?在DDR3運行嗎?不,是在IRAM運行。因為這個時候DDR3還沒有被初始化,就是說DDR3的控制器還沒有初始化。沒有辦法,只好把BL1放到IRAM中。因為IRAM是可以上電就能使用的。iRAM這個東東造價高,但是好用。總共才256K。所以不能把操作系統裝進來,所以要分段去啟動。BL2是uboot的一部分,就是uboot的前面一小段程序,也就是前14K,這前14K也是要在IRAM里運行的!也就是說BL1和BL2都是在IRAM里執行的。換句話說BL1并沒有初始化DDR3。

總結

以上是生活随笔為你收集整理的Exynos 4412启动过程(群聊笔记记录)的全部內容,希望文章能夠幫你解決所遇到的問題。

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