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