【摘要】 介紹Linux開發(fā)根文件系統(tǒng)掛載、NFS文件系統(tǒng)配置,UBOOT環(huán)境變量配置,完成文件系統(tǒng)啟動。
數(shù)碼相冊功能:
1.?支持兩種格式圖片顯示: bmp、jpg
區(qū)分兩種圖片格式,通過后綴名稱區(qū)分。
2.?支持觸摸屏、按鍵方式翻頁(支持前后翻頁)
建立雙向鏈表,調(diào)用讀取目錄的函數(shù)(opendir),將目錄下所有符合要求的圖片加入到鏈表里。
3.?支持三軸加速度計,實現(xiàn)姿態(tài)感應(yīng)。根據(jù)三軸加速度的姿態(tài),調(diào)整圖片的顯示方向。
4.?支持圖片的自適應(yīng): 居中顯示,超大尺寸的圖片需要自動縮小到屏幕能夠顯示的大小。
5.?居中顯示。
6.?數(shù)碼相冊需要有狀態(tài)欄: 當(dāng)前系統(tǒng)的時間信息,當(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.?將打包之后的壓縮文件,移動到rootfs目錄下,方便在開發(fā)板上進(jìn)行訪問(PC機(jī)上操作)
[root@wbyq work]# mv rootfs.tar rootfs/ |
3.?將SD卡上內(nèi)核、UBOOT等一些代碼拷貝到EMMC里面,(接下來就可以通過EMMC啟動)
講解MMC命令:
開發(fā)板: 從SD卡啟動的 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卡拔出,開發(fā)板開關(guān)撥到EMMC啟動,復(fù)位開發(fā)板,重新進(jìn)入到UBOOT命令行。
4.?對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.?對分區(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個分區(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 //重啟開發(fā)板,進(jìn)行網(wǎng)絡(luò)文件系統(tǒng)掛載 |
7.?掛載EMMC的2號分區(qū)
將EMMC的第2個分區(qū)掛載到/mnt目錄下。
[root@tiny4412 ]#rm /dev/mmcblk* //將dev目錄下原來的mmc設(shè)備節(jié)點刪除掉 [root@tiny4412 ]#mdev -s //重新生成設(shè)備節(jié)點 [root@tiny4412 ]#ls /dev/mmcblk0* -l //查看生成之后的EMMC設(shè)備節(jié)點 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個分區(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/* ./ //將解壓出來的rootfs目錄下所有文件,移動到/mnt頂層目錄下 [root@tiny4412 mnt]#ls //移出來之后目錄下的文件 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.?重啟開發(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 //重啟開發(fā)板 Saving Environment to SMDK bootable device... done TINY4412 # reset //復(fù)位開發(fā)板 |
正常沒有問題的情況下,開發(fā)板文件已經(jīng)掛載成功。
10.? 開發(fā)板文件系統(tǒng)與PC通信的方法
(1)?可以通過SD卡、U盤等方式給開發(fā)板拷貝文件。
(2)?可以通過NFS文件系統(tǒng)進(jìn)行遠(yuǎn)程掛載: 將NFS文件服務(wù)器的目錄掛載到本地。
??開發(fā)板NFS網(wǎng)絡(luò)文件系統(tǒng)掛載
1.?修改PC機(jī)上NFS文件系統(tǒng)共享的目錄
[root@wbyq /]# mkdir /code //在根目錄下創(chuàng)建一個code目錄 [root@wbyq /]# gedit /etc/exports //打開NFS服務(wù)器配置文件 |
2.?重啟NFS服務(wù)器 (運行之前編寫好的腳本文件)
3.?設(shè)置開發(fā)板上的網(wǎng)卡IP地址 (開發(fā)板終端上進(jìn)行操作)
[root@tiny4412 ]#ifconfig eth0 192.168.10.123 |
4.?掛載NFS服務(wù)器共享的目錄(開發(fā)板終端上進(jìn)行操作)
[root@tiny4412 ]#mount -t nfs -o nolock 192.168.10.11:/code /mnt/ |
5.?為了方便后續(xù)使用,可以編寫一個腳本。
[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ū)動(與相關(guān)的無線管理工具安裝)
購買的360WIFI: 2代。小度WIFI(百度)。 小米WIFI(小米)。
??學(xué)習(xí)無線WIFI驅(qū)動: 完整的WIFI驅(qū)動
1.?如何下載官網(wǎng)提供的驅(qū)動源碼,進(jìn)行編譯、配置、安裝: ARM
2.?學(xué)習(xí)WIFI相關(guān)的無線管理工具。
3.?學(xué)習(xí)網(wǎng)卡自動分配IP地址,才可以訪問公網(wǎng): 必須保證連接的熱點可以上網(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文章
283瀏覽量
19860 -
Uboot
+關(guān)注
關(guān)注
4文章
124瀏覽量
28099 -
NFS
+關(guān)注
關(guān)注
1文章
52瀏覽量
26063
發(fā)布評論請先 登錄
相關(guān)推薦
評論