iMX8MM启动流程
iMX8MM啟動流程
- 1. Boot ROM
- 2. IVT和DCD
- 3. 啟動流程
- 4. 總結(jié)
我移植的板子是訊為i.MX8MM開發(fā)板,參考板為官方 8MMINILPD4-EVK開發(fā)板。
1. Boot ROM
iMX8MM的Boot ROM與iMX6ULL相似,上電運行的第一個程序,作用是準備下一階段的環(huán)境并且加載啟動下一階段的程序。這里不做過多的介紹,可以看本欄iMX6ULL的啟動流程簡單學習,也可以參考iMX8MM的參考手冊深入學習。
2. IVT和DCD
IVT和DCD是鏡像向量表(Image Vector Table)和設備配置數(shù)據(jù)(Device Configuration Data),這里不做介紹。可以看本欄iMX6ULL的啟動流程簡單學習,也可以參考iMX8MM的參考手冊深入學習。
3. 啟動流程
iMX8MM的啟動流程和iMX6ULL的啟動流程有略微的差別,官方在iMX8MM啟動過程中使用了ARM可信固件(ARM Trusted firmware,ATF)。我們拋開ATF其他的作用不說,我們的目的是啟動uboot進而啟動linux內(nèi)核。但是我們得知道官方提供的代碼iMX8MM的啟動過程,對我們之后的移植和調(diào)試有幫助。
ATF是ARM提供的一套軟件架構(gòu)供用戶使用,用戶可進行自由選擇使用。這套軟件架構(gòu)的啟動流程為BL1->BL2->BL31/32->BL33,BL1就是Boot ROM加載并啟動BL2,BL2加載BL31、BL32和BL33并啟動BL31和BL32,BL33就是uboot一般由BL31或BL32啟動。這個啟動過程并不是絕對的,我們所移植iMX8MM并不使用ATF的BL2和BL32,替代BL2功能的是uboot的SPL,不使用BL32。我們的啟動流程為Bootrom->SPL->BL31->BL33(uboot)->Linux kernel,當然nxp也提供了另外一種啟動方式可以自行了解。
4. 總結(jié)
簡單了解iMX8MM的啟動過程,對后面的移植和分析問題有幫助。本文僅供學習參考,如有問題歡迎指正。
總結(jié)
以上是生活随笔為你收集整理的iMX8MM启动流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何强制ffmpeg编码时输出一个关键帧
- 下一篇: 用FFMPEG SDK进行视频转码压缩时