从Tiny-4412开箱到启动Linux内核
Tiny-4412這款開發(fā)板相信大家都挺熟悉的,尤其是學(xué)習(xí)安卓驅(qū)動(dòng)開發(fā)也是挺多人會(huì)使用這款開發(fā)板的,但是隨開發(fā)板所贈(zèng)送的映像文件資料真的是不忍直視,臃腫的資料且實(shí)用性欠佳,論壇上發(fā)帖求助也是沒人理睬(此處手動(dòng)哭泣臉 | _ |)。
嵌入式交通第三區(qū)提醒您:
學(xué)習(xí)嵌入式千萬(wàn)條 方便實(shí)惠第一條
資料不規(guī)范 學(xué)者兩行淚
正片開始,本文主要從以下幾個(gè)方面入手:
1.嵌入式開發(fā)環(huán)境的搭建;
主要是交叉編譯鏈的安裝;
2.u-boot的燒寫;
3.linux內(nèi)核的燒寫;
4.掛載文件系統(tǒng)(網(wǎng)絡(luò)文件系統(tǒng))。
本文所用到的資源如下:
交叉編譯鏈:arm-linux-gcc-4.5.1-v6-vfp-20120301
uboot版本: uboot-tiny4412-1506
Linux內(nèi)核版本:linux-3.5-20151029
1.嵌入式開發(fā)環(huán)境的搭建
關(guān)于開發(fā)環(huán)境的配置之前寫過(guò)相關(guān)的帖子,此處就不再贅述了,獻(xiàn)上鏈接
基于Ubuntu 18.04打造嵌入式arm開發(fā)環(huán)境
此外還需要講講的就是DNW工具的安裝,之后的相關(guān)文件燒寫到開發(fā)板需要借助該工具。
相關(guān)依賴的庫(kù)的安裝:
編譯dnw-linux工具包
編譯成功后生成dnw可執(zhí)行文件,以及相關(guān)設(shè)備驅(qū)動(dòng):
將生成的可執(zhí)行文件復(fù)制到用戶可執(zhí)行程序目錄,并加載設(shè)備驅(qū)動(dòng)。
2.u-boot的燒寫
2.1編譯uboot
解壓文件并編譯
編譯成功之后執(zhí)行以下操作
cd sd_fuse make2.2首先借助SD卡,進(jìn)行u-boot映像文件的燒寫
在2.1操作的uboot的路徑下
之后一張SD的啟動(dòng)卡就制作完成了。
2.3將SD卡插入開發(fā)板,并將啟動(dòng)開關(guān)撥向SD卡啟動(dòng)一側(cè),上電開機(jī)!
2.4棄用SD卡,將uboot燒寫進(jìn)EMMC內(nèi)存中去。
2.4.1首先對(duì)Tiny4412的EMMC內(nèi)存進(jìn)行分區(qū)
2.4.2燒寫uboot到EMMC
(注:需要先完成DNW工具的安裝)
1)上電開啟開發(fā)板,在uboot加載倒計(jì)時(shí)結(jié)束前,按任意鍵進(jìn)入uboot管理終端。
emmc開啟成功,在emmc開啟之后需要進(jìn)行連續(xù)的燒錄,燒寫完成之后就可以關(guān)閉emmc。
2)使用dnw工具,在uboot終端輸入dnw命令。
此時(shí)uboot終端提醒OTG cable Connected ,設(shè)備連接成功,可以進(jìn)行DNW下載。
3)在Ubuntu虛擬機(jī)端,進(jìn)入uboot所在的目錄
此時(shí)uboot終端打印相關(guān)提示信息,下載完成!
接下來(lái)就可以進(jìn)行第一步的燒錄E4412_N.bl1.bin到emmc,在uboot終端輸入以下命令。
燒錄成功!
燒錄bl2.bin文件,燒錄步驟同上。
在Ubuntu虛擬機(jī)輸入:
sudo dnw sd_fuse/tiny4412/bl2.bin
在uboot終端輸入以下命令進(jìn)行燒錄
接下來(lái)還需要對(duì)u-boot.bin、tzsw.bin文件進(jìn)行燒寫,就不再一一贅述。
將上述文件都燒錄完成之后,需要將emmc關(guān)閉。(記住一定要關(guān)閉emmc)
在ubo終端輸入:
好的,至此uboot已經(jīng)燒寫到emmc內(nèi)存成功,可以取出SD卡,將Tiny4412的啟動(dòng)開關(guān)撥向另一側(cè),重新上電啟動(dòng)!
3.制作內(nèi)核鏡像并燒寫
3.1配置linux內(nèi)核
tar xzf linux-3.5-20151029.tgz cd linux-3.5 cp tiny4412_linux_deconfig .config make menuconfigTiny4412所使用的uboot不支持trustzone,內(nèi)核必須禁止trustzone后編譯才能啟動(dòng);如果是superboot,此日期前的應(yīng)該能啟動(dòng),此日期后的則必須是啟用trustzone后編譯的內(nèi)核才能啟動(dòng)。
禁止trustzone
配置成功
編譯內(nèi)核:
3.2燒寫內(nèi)核鏡像進(jìn)emmc內(nèi)存
1)Ubuntu中的minicom
2)虛擬機(jī)
cd /1702/exynos/linux-3.5 dnw arch/arm/boot/zImage3)引導(dǎo)啟動(dòng)內(nèi)核
bootm 0x4008000
4)燒寫內(nèi)核至emmc
4.掛載網(wǎng)絡(luò)文件系統(tǒng)
(注:網(wǎng)絡(luò)文件系統(tǒng)的制作以及NFS服務(wù)的使用后續(xù)的帖子會(huì)補(bǔ)上)
設(shè)置uboot啟動(dòng)參數(shù):
總結(jié)
以上是生活随笔為你收集整理的从Tiny-4412开箱到启动Linux内核的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C 如何对指针进行指定字节的偏置操作
- 下一篇: linux下有四个作业优先级,第一次作业