【摘要】 介紹Linux開(kāi)發(fā)根文件系統(tǒng)掛載、NFS文件系統(tǒng)配置,UBOOT環(huán)境變量配置,完成文件系統(tǒng)啟動(dòng)。
數(shù)碼相冊(cè)功能:
1.?支持兩種格式圖片顯示: bmp、jpg
區(qū)分兩種圖片格式,通過(guò)后綴名稱區(qū)分。
2.?支持觸摸屏、按鍵方式翻頁(yè)(支持前后翻頁(yè))
建立雙向鏈表,調(diào)用讀取目錄的函數(shù)(opendir),將目錄下所有符合要求的圖片加入到鏈表里。
3.?支持三軸加速度計(jì),實(shí)現(xiàn)姿態(tài)感應(yīng)。根據(jù)三軸加速度的姿態(tài),調(diào)整圖片的顯示方向。
4.?支持圖片的自適應(yīng): 居中顯示,超大尺寸的圖片需要自動(dòng)縮小到屏幕能夠顯示的大小。
5.?居中顯示。
6.?數(shù)碼相冊(cè)需要有狀態(tài)欄: 當(dāng)前系統(tǒng)的時(shí)間信息,當(dāng)前圖片的名稱、數(shù)量。
任務(wù)1: 產(chǎn)品發(fā)布(本地掛載)
1.?在紅帽子系統(tǒng)上將根文件系統(tǒng)進(jìn)行壓縮打包。(PC機(jī)上操作)
[root@wbyq work]# tar cvf rootfs.tar rootfs/* |
2.?將打包之后的壓縮文件,移動(dòng)到rootfs目錄下,方便在開(kāi)發(fā)板上進(jìn)行訪問(wèn)(PC機(jī)上操作)
[root@wbyq work]# mv rootfs.tar rootfs/ |
3.?將SD卡上內(nèi)核、UBOOT等一些代碼拷貝到EMMC里面,(接下來(lái)就可以通過(guò)EMMC啟動(dòng))
講解MMC命令:
開(kāi)發(fā)板: 從SD卡啟動(dòng)的 mmc read addr blk# cnt mmc write addr blk# cnt mmc read 0 0x40000000 1 5 mmc write 1 0x40000000 1 5 |
??一次性將SD卡上所有需要的數(shù)據(jù)拷貝到EMMC里: BL1BL2 UBOOT.bin 簽名文件 內(nèi)核
movi r f 0 40008000;emmc open 1;movi w z f 1 40008000;emmc close 1; movi r b 0 40008000;emmc open 1;movi w z b 1 40008000;emmc close 1; movi r u 0 40008000;emmc open 1;movi w z u 1 40008000;emmc close 1; movi r t 0 40008000;emmc open 1;movi w z t 1 40008000;emmc close 1; movi r k 0 40008000;movi w k 1 40008000; |
命令執(zhí)行成功之后,將SD卡拔出,開(kāi)發(fā)板開(kāi)關(guān)撥到EMMC啟動(dòng),復(fù)位開(kāi)發(fā)板,重新進(jìn)入到UBOOT命令行。
4.?對(duì)EMMC進(jìn)行分區(qū) (UBOOT命令行里執(zhí)行)
TINY4412 # fdisk -c 0 2000 1000 1000 TINY4412 # fdisk -p 0 partion # size(MB) block start # block count partition_Id 1 3301 8359120 6761931 0x0C 2 2004 134343 4104925 0x83 3 1005 4239268 2059926 0x83 4 1005 6299194 2059926 0x83 |
5.?對(duì)分區(qū)進(jìn)入格式化,安裝文件系統(tǒng)(UBOOT命令行里執(zhí)行)
TINY4412 # ext3format mmc 0:1 TINY4412 # ext3format mmc 0:2 TINY4412 # ext3format mmc 0:3 TINY4412 # ext3format mmc 0:4 |
將設(shè)備0(EMMC設(shè)備)的第2個(gè)分區(qū)格式化陳EXT3文件系統(tǒng)格式。
6.?設(shè)置UBOOT環(huán)境變量,讓內(nèi)核使用網(wǎng)絡(luò)方式掛載根文件系統(tǒng)(NFS)。(UBOOT命令行里執(zhí)行)
TINY4412 # set bootargs root=/dev/nfs nfsroot=192.168.10.11:/work/rootfs ip=192.168.10.123:192.168.10.11:192.168.10.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0,115200 lcd=s702 TINY4412 # save //保存環(huán)境變量 Saving Environment to SMDK bootable device... Done TINY4412 # reset //重啟開(kāi)發(fā)板,進(jìn)行網(wǎng)絡(luò)文件系統(tǒng)掛載 |
7.?掛載EMMC的2號(hào)分區(qū)
將EMMC的第2個(gè)分區(qū)掛載到/mnt目錄下。
[root@tiny4412 ]#rm /dev/mmcblk* //將dev目錄下原來(lái)的mmc設(shè)備節(jié)點(diǎn)刪除掉 [root@tiny4412 ]#mdev -s //重新生成設(shè)備節(jié)點(diǎn) [root@tiny4412 ]#ls /dev/mmcblk0* -l //查看生成之后的EMMC設(shè)備節(jié)點(diǎn) brw-rw---- 1 root root 179, 0 Dec 10 2018 /dev/mmcblk0 brw-rw---- 1 root root 179, 8 Dec 10 2018 /dev/mmcblk0boot0 brw-rw---- 1 root root 179, 16 Dec 10 2018 /dev/mmcblk0boot1 brw-rw---- 1 root root 179, 1 Dec 10 2018 /dev/mmcblk0p1 brw-rw---- 1 root root 179, 2 Dec 10 2018 /dev/mmcblk0p2 brw-rw---- 1 root root 179, 3 Dec 10 2018 /dev/mmcblk0p3 brw-rw---- 1 root root 179, 4 Dec 10 2018 /dev/mmcblk0p4 [root@tiny4412 ]#mount /dev/mmcblk0p2 /mnt/ //將EMMC的第2個(gè)分區(qū)掛載到/mnt目錄下 [ 19.635000] EXT2-fs (mmcblk0p2): warning: mounting ext3 filesystem as ext2 [ 19.635000] EXT2-fs (mmcblk0p2): warning: checktime reached, running e2fsck is recommended [root@tiny4412 ]#cd /mnt/ [root@tiny4412 mnt]#ls //查看掛載目錄 lost+found |
8.?將之前打包的文件系統(tǒng)壓縮包解壓到掛載目錄下
[root@tiny4412 mnt]#pwd /mnt [root@tiny4412 mnt]#ls lost+found [root@tiny4412 mnt]#tar xvf /rootfs.tar //將之前打包的rootfs文件壓縮包解壓到/mnt目錄下 [root@tiny4412 mnt]#mv rootfs/* ./ //將解壓出來(lái)的rootfs目錄下所有文件,移動(dòng)到/mnt頂層目錄下 [root@tiny4412 mnt]#ls //移出來(lái)之后目錄下的文件 bin etc linuxrc proc sys var code home lost+found rootfs tmp work dev lib mnt sbin usr [root@tiny4412 mnt]#cd / //回到根目錄下 [root@tiny4412 ]#umount /mnt/ //取消目錄掛載 |
9.?重啟開(kāi)發(fā)板,進(jìn)入到UBOOT命令行,重新設(shè)置環(huán)境變量為本地掛載
TINY4412 # set bootargs root=/dev/mmcblk0p2 rootfstype=ext3 init=/linuxrc console=ttySAC0,115200 lcd=s702 coherent_pool=2M //設(shè)置環(huán)境變量 TINY4412 # save //重啟開(kāi)發(fā)板 Saving Environment to SMDK bootable device... done TINY4412 # reset //復(fù)位開(kāi)發(fā)板 |
正常沒(méi)有問(wèn)題的情況下,開(kāi)發(fā)板文件已經(jīng)掛載成功。
10.? 開(kāi)發(fā)板文件系統(tǒng)與PC通信的方法
(1)?可以通過(guò)SD卡、U盤等方式給開(kāi)發(fā)板拷貝文件。
(2)?可以通過(guò)NFS文件系統(tǒng)進(jìn)行遠(yuǎn)程掛載: 將NFS文件服務(wù)器的目錄掛載到本地。
??開(kāi)發(fā)板NFS網(wǎng)絡(luò)文件系統(tǒng)掛載
1.?修改PC機(jī)上NFS文件系統(tǒng)共享的目錄
[root@wbyq /]# mkdir /code //在根目錄下創(chuàng)建一個(gè)code目錄 [root@wbyq /]# gedit /etc/exports //打開(kāi)NFS服務(wù)器配置文件 |
2.?重啟NFS服務(wù)器 (運(yùn)行之前編寫好的腳本文件)
3.?設(shè)置開(kāi)發(fā)板上的網(wǎng)卡IP地址 (開(kāi)發(fā)板終端上進(jìn)行操作)
[root@tiny4412 ]#ifconfig eth0 192.168.10.123 |
4.?掛載NFS服務(wù)器共享的目錄(開(kāi)發(fā)板終端上進(jìn)行操作)
[root@tiny4412 ]#mount -t nfs -o nolock 192.168.10.11:/code /mnt/ |
5.?為了方便后續(xù)使用,可以編寫一個(gè)腳本。
[root@tiny4412 ]#ifconfig eth0 192.168.10.123 [root@tiny4412 ]#echo "ifconfig eth0 192.168.10.123" >nfs_start.sh [root@tiny4412 ]#echo "mount -t nfs -o nolock 192.168.10.11:/code /mnt" >>nfs_st art.sh [root@tiny4412 ]#cat nfs_start.sh //查看腳本文件里的內(nèi)容 ifconfig eth0 192.168.10.123 mount -t nfs -o nolock 192.168.10.11:/code /mnt [root@tiny4412 ]#chmod 777 nfs_start.sh //修改腳本權(quán)限 |
任務(wù)2: 360WIFI驅(qū)動(dòng)(與相關(guān)的無(wú)線管理工具安裝)
購(gòu)買的360WIFI: 2代。小度WIFI(百度)。 小米WIFI(小米)。
??學(xué)習(xí)無(wú)線WIFI驅(qū)動(dòng): 完整的WIFI驅(qū)動(dòng)
1.?如何下載官網(wǎng)提供的驅(qū)動(dòng)源碼,進(jìn)行編譯、配置、安裝: ARM
2.?學(xué)習(xí)WIFI相關(guān)的無(wú)線管理工具。
3.?學(xué)習(xí)網(wǎng)卡自動(dòng)分配IP地址,才可以訪問(wèn)公網(wǎng): 必須保證連接的熱點(diǎn)可以上網(wǎng)
uboot環(huán)境變量設(shè)置:
set bootargs root=/dev/nfs nfsroot=192.168.18.3:/work/rootfs ip=192.168.18.123:192.168.18.3:192.168.18.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0,115200 lcd=s70 coherent_pool=2M
set bootargs noinitrd root=/dev/mmcblk0p3 rootfstype=ext3 console=ttySAC0,115200 init=/linuxrc ctp=2 lcd=S70 coherent_pool=2M
set bootargs noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 console=ttySAC0,115200 init=/linuxrc ctp=2 lcd=S70 coherent_pool=2M
-
文件系統(tǒng)
+關(guān)注
關(guān)注
0文章
284瀏覽量
19911 -
Uboot
+關(guān)注
關(guān)注
4文章
125瀏覽量
28230 -
NFS
+關(guān)注
關(guān)注
1文章
53瀏覽量
26109
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論