4 1uboot對裝置樹的支援 傳遞dtb給核心

2021-10-04 13:19:28 字數 760 閱讀 8806

從flash中將裝置樹讀入記憶體,在啟動核心時,把裝置樹所在的位址寫到r2暫存器中就可以了。

a. u-boot中核心啟動命令:

bootm // 無裝置樹,bootm 0x30007fc0

bootm // 有裝置樹

比如 :

nand read.jffs2 0x30007fc0 kernel;     // 讀核心uimage到記憶體0x30007fc0

nand read.jffs2 32000000 device_tree;  // 讀dtb到記憶體32000000

bootm 0x30007fc0 - 0x32000000          // 啟動, 沒有initrd時對應引數寫為"-"

b. bootm命令怎麼把dtb_addr寫入r2暫存器傳給核心?

arm程式呼叫規則(atpcs)

c_function(p0, p1, p2) // p0 => r0, p1 => r1, p2 => r2

定義函式指標 the_kernel, 指向核心的啟動位址,

然後執行: the_kernel(0, machine_id, 0x32000000);

c. dtb_addr 可以隨便選嗎?

c.1 不要破壞u-boot本身

c.2 不要擋核心的路:

核心本身的空間不能占用, 核心要用到的記憶體區域也不能占用

核心啟動時一般會在它所處位置的下邊放置頁表, 這塊空間(一般是0x4000即16k位元組)不能被占用

jz2440記憶體使用情況:

裝置樹學習(四) uboot對裝置樹的支援)

這個比較簡單,我們知道在啟動核心的時候,需要把裝置樹的位址寫到r2暫存器中,但是怎麼寫到r2暫存器?a.u boot中核心啟動命令 bootm 無裝置樹,bootm 0x30007fc0 bootm 有裝置樹 比如 nand read.jffs2 0x30007fc0 kernel 讀核心uimag...

04課 u boot對裝置樹的支援

2 dtb的修改原理 3 dtb的修改命令fdt移植 uboot傳遞dtb給核心 r2 1 u boot中核心啟動命令 bootm 無裝置樹,bootm 0x30007fc0 bootm 有裝置樹 比如 nand read.jffs2 0x30007fc0 kernel 讀核心uimage到記憶體0...

IOS裝置對position的支援性

最近在開發乙個網頁。大家都知道 接下來 我說一下我遇到的問題和解決方法 由於要做乙個展示性 資料網頁 需求是做固定右滑動 這裡我沒有用到外掛程式。只是用了html css特有的屬性 在正常寫完網頁的時候,安卓裝置的支援性很好,可以說任何bug都 沒有 但是在ios裝置下 ios版本為7的支援性還是蠻...