设备树学习(四、内核head.S对uboot传参的处理)
生活随笔
收集整理的這篇文章主要介紹了
设备树学习(四、内核head.S对uboot传参的处理)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
之前在uboot學(xué)習(xí)中分析bootm原理的,我們知道了uboot啟動(dòng)內(nèi)核是通過傳入三個(gè)參數(shù)來啟動(dòng)的。
kernel_entry為內(nèi)核zImage在內(nèi)存的首地址。
之前我們傳的三個(gè)參數(shù)分別是:
0,芯片的機(jī)器ID,uboot給內(nèi)核參數(shù)tag在內(nèi)存的首地址r2。
查看上面截圖的代碼,可以看到r2也可以是另設(shè)備樹文件(dtb)在在內(nèi)存的地址。
對于使用tag傳參給內(nèi)核,機(jī)器的ID是必須要和內(nèi)核中配置的芯片一致的。
而對于使用設(shè)備樹來啟動(dòng)內(nèi)核,機(jī)器ID則不是必須的。
同時(shí),對新的4.x的內(nèi)核,默認(rèn)支持設(shè)備樹傳參啟動(dòng)。
接下來我們簡單分析一下內(nèi)核的啟動(dòng)對三個(gè)傳參r0,r1,r2的處理。
1. 此時(shí)系統(tǒng)所滿足的條件:
- MMU = off, D-cache = off, I-cache = dont care
- r0 = 0, r1 = machine nr, r2 = atags or dtb pointer.
2. 如果配置了 CONFIG_ARM_VIRT_EXT(虛擬
總結(jié)
以上是生活随笔為你收集整理的设备树学习(四、内核head.S对uboot传参的处理)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html的css框架,介绍几款CSS框架
- 下一篇: java编写这个通讯录管理系统_Java