最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

E2000從eMMC或SD啟動U-boot和系統(tǒng)

2023-05-17 17:15 作者:烏拉大喵喵  | 我要投稿


原文在我公眾號上:

https://mp.weixin.qq.com/s/Jg_UNRtf1m7QNt-k4I44Yg

真誠感謝MK分享此篇文檔

本文講解了,如何設(shè)置uboot環(huán)境變量和編譯linux內(nèi)核,實(shí)現(xiàn)將uboot和系統(tǒng)同時(shí)放置到SD卡或eMMC后,從SD或者eMMC啟動uboot,引導(dǎo)系統(tǒng)啟動的過程。

同時(shí)使用E2000Q-demo,演示了從SD卡啟動和從eMMC啟動的過程。

? ? ? ? ? ? ? ??

1、制作MMC(eMMC/SD卡)啟動鏡像文件

1.1、重新編譯u-boot.bin,實(shí)現(xiàn)U-boot環(huán)境變量存儲在MMC(eMMC/SD卡)

在交叉編譯環(huán)境(Ubuntu20.04_X86虛擬機(jī)),進(jìn)入U(xiǎn)boot源碼目錄,運(yùn)行make?menuconfig配置環(huán)境參數(shù)保存在MMC設(shè)備,偏移地址為0x300000(這里0x00000-0x300000地址空間預(yù)留存放BIOS固件fip-all.bin,偏移地址必須大于fip-all.bin),然后重新make得到u-boot.bin。


進(jìn)入E2000打包工具image-fix目錄,更新bl33_new.bin指向重新make得到的u-boot.bin,然后執(zhí)行腳本打包得到新的BIOS固件文件fip-all.bin。? ??

1.2、重新編譯linux內(nèi)核,實(shí)現(xiàn)bootargs傳遞分區(qū)信息

E2000配置從MMC(eMMC/SD卡)啟動的模式,上電啟動需要從MMC設(shè)備(eMMC/SD卡)起始地址加載BIOS固件,BIOS固件會覆蓋分區(qū)表信息,因此需要開啟“u-boot通過bootargs重新傳遞分區(qū)表”的功能。

在交叉編譯環(huán)境(Ubuntu20.04_X86虛擬機(jī)),進(jìn)入linux?kernel源碼目錄,運(yùn)行make?menuconfig開啟command?line?partition?support,然后重新make得到內(nèi)核鏡像Image.gz。


1.3、打包MMC(eMMC/SD卡)啟動鏡像

第1步:在交叉編譯環(huán)境(Ubuntu20.04_X86虛擬機(jī)),使用命令 mkimage將當(dāng)前目錄下的內(nèi)核Image.gz、設(shè)備樹e2000q-demo-board.dtb進(jìn)行打包,得到啟動鏡像文件uImage.itd。

demo.its文件:


第2步:然后,使用dd 命令將fip-all.bin、uImage.itd封裝在一起(偏移地址0x400000,可根據(jù)情況修改),封裝合并后文件為BIOS固件fip-all.bin,這里把fip-all.bin重命名為mmc-boot.bin,支持eMMC/SD卡的MMC啟動鏡像文件就制作完成了。


2、E20000Q-DEMO SD卡啟動BIOS和系統(tǒng)2.1、制作SD啟動系統(tǒng)盤

第1步:在交叉編譯環(huán)境(Ubuntu20.04_X86虛擬機(jī))連接SD卡設(shè)備,使用fdisk 對SD卡進(jìn)行分區(qū),第一個(gè)分區(qū)起始地址要避開前64MB地址(First sector (2048-62333951,default 2048): 131072),空間0~64MB將用來存放fip-all.bin、kernel和設(shè)備樹,64MB及之后空間是Linux根目錄存放分區(qū),下圖為分區(qū)過程。

? ? ? ? ?

第2步:使用mkfs.ext4?格式化分區(qū) (例:mkfs.ext4 /dev/sdb1),并使用mount 命令掛載文件系統(tǒng)。

第3步:將Linux根文件系統(tǒng)解壓到SD卡分區(qū)根目錄,解壓完畢后,sync命令同步文件,然后使用 umount 卸載SD卡的掛載。

第4步:使用dd 命令燒錄mmc-boot.bin到目標(biāo)設(shè)備?/dev/sdb(目標(biāo)設(shè)備可根據(jù)情況修改)。

到這里,SD系統(tǒng)盤就安裝制作完成了。

? ? ? ? ?

2.2、在E20000Q-DEMO參考板上加載SD系統(tǒng)盤

第1步:將SD卡插入E2000Q-DEMO板的SD插座,配置SE_CFG[4:0]為SD啟動模式,上電。第2步:在命令行設(shè)置如下Uboot環(huán)境變量后boot啟動,這里bootargs重新傳遞分區(qū)表(前64MB為分區(qū)1,后面為第分區(qū)2,Linux根目錄放在分區(qū)2)。

系統(tǒng)加載過程,SD啟動log如下:

進(jìn)入Linux系統(tǒng)后,查看分區(qū):cat /proc/partitions

? ? ? ? ?? ? ? ? ?? ? ? ?

3、E20000Q-DEMO eMMC啟動BIOS和系統(tǒng)第1步:在E2000Q-DEMO參考板,從SD、USB或者NVMe?SSD加載進(jìn)入Linux系統(tǒng),對板載eMMC進(jìn)行分區(qū),第一個(gè)分區(qū)起始地址要避開前64MB地址(First sector (2048-62333951,default 2048): 131072),空間0~64MB將用來存放fip-all.bin、kernel和設(shè)備樹,64MB及之后空間是Linux根目錄存放分區(qū),下圖為分區(qū)過程。

? ? ??

第2步:使用mkfs.ext4?格式化分區(qū) (例:mkfs.ext4 /dev/mmcblk0),并使用mount 命令掛載文件系統(tǒng)。? ? ? ? ?
第3步:將Linux根文件系統(tǒng)解壓到eMMC分區(qū)根目錄,解壓完畢后,sync命令同步文件,然后使用 umount 卸載eMMC的掛載。

? ? ? ??

第4步:使用dd 命令燒錄mmc-boot.bin到目標(biāo)設(shè)備?/dev/mmcblk0(目標(biāo)設(shè)備可根據(jù)情況修改)。

? ? ? ? ?

第5步:參考板配置SE_CFG[4:0]為eMMC啟動模式,重新上電。? ? ? ? ?
第6步:在命令行設(shè)置如下Uboot環(huán)境變量后boot啟動,這里bootargs重新傳遞分區(qū)表(前64MB為分區(qū)1,后面為第分區(qū)2,Linux根目錄放在分區(qū)2)。

?

??eMMC加載系統(tǒng)成功:

個(gè)人資料推廣:


最近將多年來收集到的教學(xué)視頻、國內(nèi)外圖書、源碼等整理整合拿出來,

涉及 arm、Linux、python、信號完整性、FPGA、DSP、算法、stm32、

單片機(jī)、制圖、電子模塊、kali、出版社圖書等。

資料目前約 1.5TB+。初、中、高不同階段工程師,都能有提升自己的資料。

1.5TB“電子工程師資料”詳細(xì)介紹

分享,讓技術(shù)更偉大!歡迎轉(zhuǎn)發(fā)!?

歡迎飛騰愛好者加入微信交流群。

群內(nèi)大家可以暢所欲言。在群內(nèi)不需要表露自己的公司和身份,可以群內(nèi)交流遇到的問題,分享自己的調(diào)試心得。

希望大家共建飛騰友誼!


E2000從eMMC或SD啟動U-boot和系統(tǒng)的評論 (共 條)

分享到微博請遵守國家法律
濮阳市| 乌苏市| 东山县| 璧山县| 唐海县| 获嘉县| 弥渡县| 都江堰市| 准格尔旗| 浦江县| 汝阳县| 柘城县| 东平县| 怀安县| 新竹县| 阳原县| 柳州市| 丰台区| 卫辉市| 清涧县| 玉环县| 泽普县| 榆中县| 保亭| 固阳县| 大石桥市| 青岛市| 容城县| 轮台县| 宜良县| 米林县| 嵩明县| 丽水市| 昭平县| 会泽县| 治县。| 潼南县| 望奎县| 深州市| 西和县| 江西省|