设备树学习(四、内核head.S对uboot传参的处理)
生活随笔
收集整理的這篇文章主要介紹了
设备树学习(四、内核head.S对uboot传参的处理)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
之前在uboot學(xué)習(xí)中分析bootm原理的,我們知道了uboot啟動內(nèi)核是通過傳入三個參數(shù)來啟動的。
kernel_entry為內(nèi)核zImage在內(nèi)存的首地址。
之前我們傳的三個參數(shù)分別是:
0,芯片的機器ID,uboot給內(nèi)核參數(shù)tag在內(nèi)存的首地址r2。
查看上面截圖的代碼,可以看到r2也可以是另設(shè)備樹文件(dtb)在在內(nèi)存的地址。
對于使用tag傳參給內(nèi)核,機器的ID是必須要和內(nèi)核中配置的芯片一致的。
而對于使用設(shè)備樹來啟動內(nèi)核,機器ID則不是必須的。
同時,對新的4.x的內(nèi)核,默認支持設(shè)備樹傳參啟動。
接下來我們簡單分析一下內(nèi)核的啟動對三個傳參r0,r1,r2的處理。
1. 此時系統(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框架
- 下一篇: 技嘉1080显卡体质测试软件,技嘉GTX