本文章為《STM32MP157 Linux系統(tǒng)移植開發(fā)篇》系列中的一篇,筆者使用的開發(fā)平臺為華清遠見FS-MP1A開發(fā)板(STM32MP157開發(fā)板)。stm32mp157是ARM雙核,2個A7核,1個M4核,A7核上可以跑Linux操作系統(tǒng),M4核上可以跑FreeRTOS、RT-Thread等實時操作系統(tǒng),STM32MP157開發(fā)板所以既可以學(xué)嵌入式linux,也可以學(xué)stm32單片機。
針對FS-MP1A開發(fā)板,除了Linux系統(tǒng)移植篇外,還包括其他多系列教程,包括Cortex-A7開發(fā)篇、Cortex-M4開發(fā)篇、擴展板驅(qū)動移植篇、Linux應(yīng)用開發(fā)篇、FreeRTOS系統(tǒng)移植篇、Linux驅(qū)動開發(fā)篇、硬件設(shè)計篇、人工智能機器視覺篇、Qt應(yīng)用編程篇、Qt綜合項目實戰(zhàn)篇等。
————————————————
系統(tǒng)移植前說明
關(guān)于命令行提示符:
在實驗步驟中會涉及到執(zhí)行命令的操作,為區(qū)分操作是在Ubuntu上完成還是在開發(fā)板上完成,不同操作會有不同的提示符:
Ubuntu操作時命令行提示符為:linux@ubuntu:$
開發(fā)板Linux系統(tǒng)下操作時命令行提示符為:root@fsmp1a:$
開發(fā)板u-boot期間操作是命令行提示符為:STM32MP>
注意:由于部分操作需要進入特定目錄下完成,導(dǎo)致命令行提示符較長如:
linux@ubuntu:~/FS-MP1A/stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/sources/arm-ostl-linux-gnueabi/u-boot-stm32mp-2020.01-r0/u-boot-stm32mp-2020.01$
過長的命令行提示符不便于文檔編寫,所以本文中所有命令行提示符均忽略了當前工作目錄的顯示,命令行提示符不代表當前目錄,具體當前操作是在哪個目錄下完成,請結(jié)合文檔上下文確定。
?
1. 源碼編譯
1.1 源碼目錄結(jié)構(gòu)
1.1.1 編譯環(huán)境配置
由于OpenSTLinux所涉及到的源碼較多,且有路徑的依賴。所以請按照本文的說明建立源碼文件夾。
在用戶home目錄下建立fs-mp1a文件夾。
linux@ubuntu: $ cd ~
linux@ubuntu: $ mkdir fs-mp1a
將工作目錄切換到fs-mp1a目錄下,建立linux、optee-os、trusted-firmware、u-boot、tools文件夾
linux@ubuntu: $ cd ~/fs-mp1a
linux@ubuntu: $ mkdir linux optee-os trusted-firmware u-boot tools
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZKASYSsAAB5rF1aesY150.png)
?
請務(wù)必按照此目錄名稱建立文件夾,否則會導(dǎo)致后續(xù)的OpenSTLinux系統(tǒng)編譯錯誤。
?
1.1.2 SDK工具鏈安裝
- ?
?
OpenSTLinux SDK是Yocto SDK定制發(fā)行版的軟件開發(fā)套件,它提供了獨立的交叉開發(fā)工具鏈和針對特定鏡像中所使用到的特定鏈接庫。
開發(fā)資料光盤中提供的SDK是基于FS-MP1A開發(fā)板的定制交叉編譯工具鏈,該工具鏈可用于FS-MP1A開發(fā)板中所有項目的編譯與調(diào)試。
將資料光盤下【華清遠見-FS-MP1A開發(fā)資料\01-工具軟件】的en.SDK-x86_64-stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24.tar.xz復(fù)制到ubuntu主機中,可以采用共享文件夾的方式也可以使用tfp方式將文件存入FS-MP1A源碼目錄下的tools文件夾下進行解壓。
linux@ubuntu: $ tar -xvf en.SDK-x86_64-stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24.tar.xz -C /home/linux/fs-mp1a/tools/
解壓之后得到sdk目錄,進入到sdk文件夾之后內(nèi)容如下。
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZOAT2D0AAD6JTjoNxw122.png)
?
執(zhí)行st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-openstlinux-5.4-dunfell-mp1-20-06-24.sh安裝腳本。
linux@ubuntu: $ ./st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-openstlinux-5.4-dunfell-mp1-20-06-24.sh
運行之后會提示輸入安裝位置,直接按回車鍵默認即可:
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZOAeTe4AABnm53CTy0564.png)
?
繼續(xù)詢問是否安裝SDK,輸入Y,回車
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZSAfs0CAACRT7x9Cq4396.png)
?
默認安裝路徑安裝在opt目錄下,這個目錄需要有root權(quán)限,所以安裝時需要使用sudo安裝,過程中需要輸入用戶的sudo密碼(如果當前用戶sudo功能已經(jīng)授權(quán),這個密碼就是用戶的登錄密碼),輸入密碼后開始進行安裝。
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZSAF7KrAACR7HpjGu4419.png)
?
輸入密碼后等待安裝,安裝后顯示如下:
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZWAVl-0AAERrFuNNJk961.png)
?
導(dǎo)入sdk
linux@ubuntu: $ source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
驗證開發(fā)工具是否安裝正確,顯示版本信息如下圖所示。
linux@ubuntu: $ $CC --version
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZWAK66gAABrYw5Axkc630.png)
?
1.1.3 源碼導(dǎo)入
- ?
?
Bootloader源碼
?
將光盤資料中【華清遠見-FS-MP1A開發(fā)資料\02-程序源碼\05-預(yù)裝系統(tǒng)源碼\u-boot】下的u-boot-fsmp1a-2020.01.tar.xz和Makefile.sdk導(dǎo)入到fs-mp1a目錄下u-boot文件夾中
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZaATjRwAAA59epTJxw521.png)
將u-boot-fsmp1a-2020.01.tar.xz解壓之后得到u-boot-fsmp1a-2020.01文件夾
linux@ubuntu:$ tar -xvf u-boot-fsmp1a-2020.01.tar.xz
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZaAM_0HAABEJqjP81g931.png)
?
? ? ?trusted-firmware源碼
?
將光盤資料中【華清遠見-FS-MP1A開發(fā)資料\02-程序源碼\05-預(yù)裝系統(tǒng)源碼\tf-a】下的fsmp1a-trusted-firmware-2.2.tar.xz和Makefile.sdk導(dǎo)入到fs-mp1a目錄下trusted-firmware文件夾中
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZaAOeZjAAA-S5Bc2JE841.png)
將fsmp1a-trusted-firmware-2.2.tar.xz解壓之后得到fsmp1a-trusted-firmware-2.2文件夾
linux@ubuntu:$ tar -xvf fsmp1a-trusted-firmware-2.2.tar.xz
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZeAWI5kAAA-Ce9kqkI866.png)
?
optee_os源碼
將光盤資料中【華清遠見-FS-MP1A開發(fā)資料\02-程序源碼\05-預(yù)裝系統(tǒng)源碼\optee】下的fsmp1a-optee_os-3.9.0.tar.xz和Makefile.sdk導(dǎo)入到fs-mp1a目錄下optee-os文件夾中
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZiAQILeAAA2mXgTHJQ998.png)
將fsmp1a-optee_os-3.9.0.tar.xz解壓之后得到fsmp1a-optee_os-3.9.0文件夾
linux@ubuntu:$ tar -xvf fsmp1a-optee_os-3.9.0.tar.xz
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZiAaL95AAA7vfgbzjA245.png)
?
?
linux源碼
盤資料中【華清遠見-FS-MP1A開發(fā)資料\02-程序源碼\05-預(yù)裝系統(tǒng)源碼\linux】下的fsmp1a-linux-5.4.31.tar.xz導(dǎo)入到fs-mp1a目錄下linux文件夾中
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZiAegMQAAAr00ktzUA521.png)
將fsmp1a-linux-5.4.31.tar.xz解壓之后得到fsmp1a-linux-5.4.31文件夾
linux@ubuntu:$ tar -xvf fsmp1a-linux-5.4.31.tar.xz
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZmAcjnLAAAvvxdNKzE976.png)
?
Yocto源碼
盤資料中【華清遠見-FS-MP1A開發(fā)資料\02-程序源碼\05-預(yù)裝系統(tǒng)源碼\Yocto】下的fsmp1a-ST-Yocto.tar.xz導(dǎo)入到fs-mp1a目錄下
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZmALWauAAA7D3jvjBE284.png)
將fsmp1a-ST-Yocto.tar.xz解壓之后得到fsmp1a-ST-Yocto文件夾
linux@ubuntu:$ tar -xvf fsmp1a-ST-Yocto.tar.xz
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZqAOuQvAAA_g8WoZQw664.png)
盤資料中【華清遠見-FS-MP1A開發(fā)資料\02-程序源碼\05-預(yù)裝系統(tǒng)源碼\Yocto】下的downloads.tar.xz導(dǎo)入到由fsmp1a-ST-Yocto.tar.xz得到的fsmp1a-ST-Yocto文件夾下。
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZqAEEZLAAAsLyoJmXs275.png)
將downloads.tar.xz解壓之后得到downloads文件夾。
linux@ubuntu:$ tar -xvf downloads.tar.xz
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZuAb0DVAAAt9QgzWKw182.png)
?
?
至此OpenSTLinux全部源碼就導(dǎo)入完成了。導(dǎo)入源碼完成后的fs-mp1a目錄結(jié)構(gòu)如下。
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZuAaxUqAACb4xtkYSU259.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTQxNzA4NDM=,size_16,color_FFFFFF,t_70)
?
?
1.2 u-boot源碼編譯
導(dǎo)入交叉編譯工具鏈并驗證
linux@ubuntu:$ source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
linux@ubuntu:$$CC --version
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZuALcg-AABp_yMqv0I737.png)
?
?
將工作目錄切換到u-boot-fsmp1a-2020.01源碼目錄下。
linux@ubuntu:$ cd ${HOME}/fs-mp1a/u-boot/u-boot-fsmp1a-2020.01
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZyAXXOIAABaEe9ANps624.png)
?
?
導(dǎo)入配置文件。
fsmp1a的u-boot可以支持basic、trusted、optee三種配置。分別對應(yīng)三種配置文件。
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZyAYjXdAABKhgmUbCo893.png)
?
?
這里使用trusted配置來編譯
linux@ubuntu:$ make stm32mp15_trusted_defconfig
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZyAWeU7AAB8EwudSZ0262.png)
?
?
編譯源碼
linux@ubuntu:$ make DEVICE_TREE=stm32mp157a-fsmp1a all
編譯完成后得到u-boot.img文件
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZ2ATjqrAABrAWWLh8I084.png)
?
?
使用Makefile.sdk編譯
除了傳統(tǒng)的編譯方式之外還可以通過上層目錄下的Makefile.sdk來編譯鏡像。使用此方法需要將先前編譯過的源碼清除后再編譯,否則會導(dǎo)致編譯出錯。
linux@ubuntu:$ make distclean
編譯basic鏡像
linux@ubuntu:$ make -f $PWD/../Makefile.sdk all UBOOT_CONFIGS=stm32mp15_fsmp1a_basic_defconfig,basic,u-boot.img
編譯成功后會在上級目錄下生成build-basic目錄。其中的u-boot-stm32mp157a-fsmp1a-basic.img和u-boot-spl.stm32-stm32mp157a-fsmp1a-basic即為生成的燒寫鏡像
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZ2APdKFAABrK5p5_6E089.png)
?
編譯trusted鏡像
linux@ubuntu:$make -f $PWD/../Makefile.sdk all UBOOT_CONFIGS=stm32mp15_fsmp1a_trusted_defconfig,trusted,u-boot.stm32
編譯成功后會在上級目錄下生成build-trusted目錄。其中的u-boot-stm32mp157a-fsmp1a-trusted.stm32即為生成的燒寫鏡像
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZ6AQYASAAB-WhhSYRg927.png)
?
?
編譯optee鏡像
linux@ubuntu:$ make -f $PWD/../Makefile.sdk all UBOOT_CONFIGS=stm32mp15_fsmp1a_trusted_defconfig,optee,u-boot.stm32
編譯成功后會在上級目錄下生成build-optee目錄。其中的u-boot-stm32mp157a-fsmp1a-optee.stm32即為生成的燒寫鏡像
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZ6AMv2tAABvvm7FKQU672.png)
?
?
編譯basic、trusted、optee三種鏡像
linux@ubuntu:$ make -f $PWD/../Makefile.sdk all
編譯成功后會在上級目錄下會同時生成build-basic、build-trusted、build-optee三個目錄。
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBZ-ABypjAAAxXbMqHC0773.png)
?
?
?
1.3 tf-a源碼編譯
導(dǎo)入交叉編譯工具鏈并驗證
linux@ubuntu:$ source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
linux@ubuntu:$ $CC --version
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBZ-AYrSsAABp_yMqv0I366.png)
?
?
將工作目錄切換到fsmp1a-trusted-firmware-2.2源碼目錄下。
linux@ubuntu:$ cd ${HOME}/fs-mp1a/trusted-firmware/fsmp1a-trusted-firmware-2.2
編譯trusted鏡像
linux@ubuntu:$ make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157a-fsmp1a TF_A_CONFIG=trusted ELF_DEBUG_ENABLE='1' all
編譯成功之后會在上級目錄下生成build目錄,build目錄下的trusted目錄中tf-a-stm32mp157a-fsmp1a-trusted.stm32即為燒寫鏡像。
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBaCAH-U1AAByNirTADU380.png)
?
?
編譯optee鏡像
linux@ubuntu:$ make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157a-fsmp1a TF_A_CONFIG=optee ELF_DEBUG_ENABLE='1' all
編譯成功之后會在上級目錄下生成build目錄,build目錄下的optee目錄中tf-a-stm32mp157a-fsmp1a-optee.stm32即為燒寫鏡像。
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBaCADxUaAABxgQx7oDA960.png)
?
?
編譯trusted、optee兩種鏡像
linux@ubuntu:$ make -f $PWD/../Makefile.sdk all
編譯成功后會在上級目錄下生成build目錄,該目錄下同時生成了trusted和optee兩個目錄。
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBaGACFOFAAA-KHIWgCo835.png)
?
?
1.4 optee-os源碼編譯
?
導(dǎo)入交叉編譯工具鏈并驗證
linux@ubuntu:$ source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
linux@ubuntu:$ $CC --version
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBaGAGxnMAABp_yMqv0I926.png)
?
?
將工作目錄切換到fsmp1a-optee_os-3.9.0源碼目錄下。
linux@ubuntu:$ cd ${HOME}/fs-mp1a/optee-os/fsmp1a-optee_os-3.9.0
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBaKAETxJAABF0C5l70o418.png)
?
?
編譯源碼
linux@ubuntu:$ make -f $PWD/../Makefile.sdk CFG_EMBED_DTB_SOURCE_FILE=stm32mp157a-fsmp1a
編譯成功之后會在上級目錄下生成build目錄其目錄下的tee-header_v2-stm32mp157a-fsmp1a-optee.stm32、tee-pageable_v2-stm32mp157a-fsmp1a-optee.stm32、tee-pager_v2-stm32mp157a-fsmp1a-optee.stm32即為燒寫鏡像。
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBaKAQYMnAABSrhm7tDQ463.png)
?
?
?
1.5 linux源碼編譯
?
導(dǎo)入交叉編譯工具鏈并驗證
linux@ubuntu:$ linux@ubuntu:$ source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
linux@ubuntu:$ $CC --version
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBaOASbliAABp_yMqv0I393.png)
?
?
將工作目錄切換到fsmp1a-linux-5.4.31源碼目錄下。
linux@ubuntu:$cd ${HOME}/fs-mp1a/linux/fsmp1a-linux-5.4.31
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBaWAeRfiAABgoHtXM1k694.png)
?
?
導(dǎo)入配置文件
linux@ubuntu:$make stm32_fsmp1a_defconfig
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBaWAabkiAAEqyROcpbc181.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTQxNzA4NDM=,size_16,color_FFFFFF,t_70)
?
?
如果需要修改配置可以使用如下命令來啟動menuconfig
linux@ubuntu:$make menuconfig
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBaaARSVNAAF3WUeknsw065.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTQxNzA4NDM=,size_16,color_FFFFFF,t_70)
?
編譯內(nèi)核鏡像
linux@ubuntu:$make -j4 ARCH=arm uImage vmlinux LOADADDR=0xC2000040
編譯成功之后會在arch/arm/boot/目錄下生成uImage文件
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBaeAYS35AAB4DKbPZaw284.png)
?
?
在源碼目錄下生成用于調(diào)試的vmlinux文件
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBaeAC8LTAADJ-Gf-wkQ548.png)
?
?
編譯設(shè)備樹文件
linux@ubuntu:$make ARCH=arm dtbs
編譯成功之后會在arch/arm/boot/dts目錄下生成stm32mp157a-fsmp1a.dtb、stm32mp157a-fsmp1a-rgb070.dtb和stm32mp157a-fsmp1a-mipi050.dtb文件
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBaiAFl-OAADKSsp1LkM796.png)
?
?
stm32mp157a-fsmp1a-rgb070.dtb為rgb屏幕的設(shè)備樹文件
stm32mp157a-fsmp1a-mipi050.dtb為mipi屏幕的設(shè)備樹文件
編譯內(nèi)核模塊
linux@ubuntu:$make ARCH=arm modules
linux@ubuntu:$make ARCH=arm INSTALL_MOD_PATH="$PWD/../build/install_artifact" modules_install
編譯成功后會在上層目錄生成build目錄其中的install_artifact目錄中存放的即為導(dǎo)出的驅(qū)動模塊。
?
1.6 Yocto構(gòu)建系統(tǒng)
將工作目錄切換到fsmp1a-ST-Yocto源碼目錄下。
linux@ubuntu:$cd ${HOME}/fs-mp1a/ fsmp1a-ST-Yocto
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBaiADl0ZAAAstEfN8IY961.png)
?
導(dǎo)入編譯配置
linux@ubuntu:$DISTRO=openstlinux-weston MACHINE=fsmp1a source layers/meta-farsight/scripts/envsetup.sh
如下界面提示主機的ubuntu版本與期望的版本不同,這里輸入y
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBamAOoRGAACuMezVTeU677.png)
?
?
如果是第一次配置,需要同意一些協(xié)議,輸入y。。
![](https://file.elecfans.com//web2/M00/10/A0/pYYBAGEeBaqAY8LMAABEfDwQxFc297.png)
?
?
之后按空格鍵到協(xié)議底部
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBbCANPeSAACvBY_iDuQ550.png)
?
?
輸入y會出現(xiàn)如下界面
![](https://file.elecfans.com//web2/M00/10/97/poYBAGEeBbaACT3dAAHCEuJJHkY327.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTQxNzA4NDM=,size_16,color_FFFFFF,t_70)
?
?
編譯源碼
linux@ubuntu:$bitbake fs-mp1a-weston
注意:在編譯Yocto系統(tǒng)時確保ubuntu主機可以連接互聯(lián)網(wǎng)
由于OpenSTLinux涉及到的源碼較多,因此編譯會比較耗時。
編譯完成后所生成的鏡像文件保存在tmp-glibc/deploy/images/fsmp1a/目錄下。
?
這里生成了fs-mp1a開發(fā)板所需的燒寫鏡像,包括basic、trusted、optee三種。
basic專有鏡像
u-boot-spl.stm32-stm32mp157a-fsmp1a-basic
u-boot-stm32mp157a-fsmp1a-basic.img
trusted專有鏡像
tf-a-stm32mp157a-fsmp1a-trusted.stm32
u-boot-stm32mp157a-fsmp1a-trusted.stm32
optee專有鏡像
tf-a-stm32mp157a-fsmp1a-optee.stm32
u-boot-stm32mp157a-fsmp1a-optee.stm32
tee-header_v2-stm32mp157a-fsmp1a-optee.stm32
tee-pageable_v2-stm32mp157a-fsmp1a-optee.stm32
tee-pager_v2-stm32mp157a-fsmp1a-optee.stm32
公用鏡像
st-image-bootfs-openstlinux-weston-fsmp1a.ext4
st-image-userfs-openstlinux-weston-fsmp1a.ext4
st-image-vendorfs-openstlinux-weston-fsmp1a.ext4
fs-mp1a-weston-openstlinux-weston-fsmp1a.ext4
配置文件
flashlayout_fs-mp1a-weston文件夾中存放的是燒寫時所使用的配置文件
?
由上圖可以看到配置文件分為sdcard燒寫配置和emmc燒寫配置。
評論