日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

从Tiny-4412开箱到启动Linux内核

發布時間:2023/12/10 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从Tiny-4412开箱到启动Linux内核 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


  Tiny-4412這款開發板相信大家都挺熟悉的,尤其是學習安卓驅動開發也是挺多人會使用這款開發板的,但是隨開發板所贈送的映像文件資料真的是不忍直視,臃腫的資料且實用性欠佳,論壇上發帖求助也是沒人理睬(此處手動哭泣臉 | _ |)。
      嵌入式交通第三區提醒您:
      學習嵌入式千萬條  方便實惠第一條
        資料不規范  學者兩行淚

正片開始,本文主要從以下幾個方面入手:
1.嵌入式開發環境的搭建;
  主要是交叉編譯鏈的安裝;
2.u-boot的燒寫;
3.linux內核的燒寫;
4.掛載文件系統(網絡文件系統)。
本文所用到的資源如下:
交叉編譯鏈:arm-linux-gcc-4.5.1-v6-vfp-20120301
uboot版本: uboot-tiny4412-1506
Linux內核版本:linux-3.5-20151029

1.嵌入式開發環境的搭建

關于開發環境的配置之前寫過相關的帖子,此處就不再贅述了,獻上鏈接
   基于Ubuntu 18.04打造嵌入式arm開發環境
   此外還需要講講的就是DNW工具的安裝,之后的相關文件燒寫到開發板需要借助該工具。
   相關依賴的庫的安裝:

sudo apt-get install libelf-dev

編譯dnw-linux工具包
   編譯成功后生成dnw可執行文件,以及相關設備驅動:

將生成的可執行文件復制到用戶可執行程序目錄,并加載設備驅動。

sudo cp dnw /usr/local/bin/ sudo insmod secbulk.ko

2.u-boot的燒寫

2.1編譯uboot

解壓文件并編譯

unzip uboot-tiny4412-1506.zip cd uboot-tiny4412-1506 unzip uboot_tiny4412-master.zip cd uboot_tiny4412-master make tiny4412_config make

編譯成功之后執行以下操作

cd sd_fuse make

2.2首先借助SD卡,進行u-boot映像文件的燒寫
在2.1操作的uboot的路徑下

cd tiny4412/ sudo ./sd_fusing.sh /dev/sdb

之后一張SD的啟動卡就制作完成了。

2.3將SD卡插入開發板,并將啟動開關撥向SD卡啟動一側,上電開機!

2.4棄用SD卡,將uboot燒寫進EMMC內存中去。
2.4.1首先對Tiny4412的EMMC內存進行分區

格式化EMMC fdisk -c 1 320 2057 520 格式化相關分區 1: 2: 3: 4 fatformat mmc 1:1 //將分區1格式化為Fat文件格式 ext3format mmc 1:2 //將分區2、3、4格式化為ext3格式 ext3format mmc 1:3 ext3format mmc 1:4

2.4.2燒寫uboot到EMMC
(注:需要先完成DNW工具的安裝)
1)上電開啟開發板,在uboot加載倒計時結束前,按任意鍵進入uboot管理終端。

emmc open 1


emmc開啟成功,在emmc開啟之后需要進行連續的燒錄,燒寫完成之后就可以關閉emmc。
2)使用dnw工具,在uboot終端輸入dnw命令。

dnw


此時uboot終端提醒OTG cable Connected ,設備連接成功,可以進行DNW下載。
3)在Ubuntu虛擬機端,進入uboot所在的目錄

cd /1702/exynos/uboot_tiny4412-1506 sudo dnw sd_fuse/tiny4412/E4412_N.bl1.bin


此時uboot終端打印相關提示信息,下載完成!

接下來就可以進行第一步的燒錄E4412_N.bl1.bin到emmc,在uboot終端輸入以下命令。

mmc write 1 0xc0000000 0 0x10


燒錄成功!
燒錄bl2.bin文件,燒錄步驟同上。

dnw

在Ubuntu虛擬機輸入:

sudo dnw sd_fuse/tiny4412/bl2.bin



在uboot終端輸入以下命令進行燒錄

mmc write 1 0xc0000000 0x10 0x1C


接下來還需要對u-boot.bin、tzsw.bin文件進行燒寫,就不再一一贅述。

uboot終端:dnw 虛擬機終端:sudo dnw u-boot.bin uboot終端:mmc write 1 0xc0000000 0x30 0x21D uboot終端:dnw 虛擬機終端:sudo dnw sd_fuse/tiny4412/E4412_tzsw.bin uboot終端:mmc write 1 0xc0000000 0x2c0 0xB8

將上述文件都燒錄完成之后,需要將emmc關閉。(記住一定要關閉emmc)
在ubo終端輸入:

emmc close 1


好的,至此uboot已經燒寫到emmc內存成功,可以取出SD卡,將Tiny4412的啟動開關撥向另一側,重新上電啟動!

3.制作內核鏡像并燒寫

3.1配置linux內核

tar xzf linux-3.5-20151029.tgz cd linux-3.5 cp tiny4412_linux_deconfig .config make menuconfig

Tiny4412所使用的uboot不支持trustzone,內核必須禁止trustzone后編譯才能啟動;如果是superboot,此日期前的應該能啟動,此日期后的則必須是啟用trustzone后編譯的內核才能啟動。

禁止trustzone

配置成功

編譯內核:

make zImage -j4

3.2燒寫內核鏡像進emmc內存
1)Ubuntu中的minicom

dnw 0x4008000

2)虛擬機

cd /1702/exynos/linux-3.5 dnw arch/arm/boot/zImage

3)引導啟動內核

bootm 0x4008000


4)燒寫內核至emmc

dnw 0x40008000 cd /1702/exynos/linux-3.5 dnw arch/arm/boot/zImage movi write kernel 0 0x40008000**設置uboot啟動參數** set bootcmd "movi read kernel 0 0x40008000;bootm 0x40008000" save

4.掛載網絡文件系統

(注:網絡文件系統的制作以及NFS服務的使用后續的帖子會補上)
設置uboot啟動參數:

set bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.2.201:/works/nfs_root/fs_mini_tiny4412 ip=192.168.2.123:192.168.2.201:192.168.2.1:255.255.255.0::eth0:off

總結

以上是生活随笔為你收集整理的从Tiny-4412开箱到启动Linux内核的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。