linux驅動開發_文件系統本地掛載

      網友投稿 829 2022-05-29

      數碼相冊功能:

      1. ?支持兩種格式圖片顯示: bmp、jpg

      區分兩種圖片格式,通過后綴名稱區分。

      2. ?支持觸摸屏、按鍵方式翻頁(支持前后翻頁)

      建立雙向鏈表,調用讀取目錄的函數(opendir),將目錄下所有符合要求的圖片加入到鏈表里。

      3. ?支持三軸加速度計,實現姿態感應。根據三軸加速度的姿態,調整圖片的顯示方向。

      4. ?支持圖片的自適應: 居中顯示,超大尺寸的圖片需要自動縮小到屏幕能夠顯示的大小。

      5. ?居中顯示。

      6. ?數碼相冊需要有狀態欄: 當前系統的時間信息,當前圖片的名稱、數量。

      任務1: 產品發布(本地掛載)

      1. ?在紅帽子系統上將根文件系統進行壓縮打包。(PC機上操作)

      [root@wbyq work]# tar cvf rootfs.tar rootfs/*

      2. ?將打包之后的壓縮文件,移動到rootfs目錄下,方便在開發板上進行訪問(PC機上操作)

      [root@wbyq work]# mv rootfs.tar rootfs/

      3. ?將SD卡上內核、UBOOT等一些代碼拷貝到EMMC里面,(接下來就可以通過EMMC啟動)

      講解MMC命令:

      開發板: 從SD卡啟動的

      mmc read addr blk# cnt

      mmc write addr blk# cnt

      mmc read 0 0x40000000 1 5

      mmc write 1 0x40000000 1 5

      ? ?一次性將SD卡上所有需要的數據拷貝到EMMC里: BL1BL2 UBOOT.bin 簽名文件 內核

      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;

      linux驅動開發_文件系統本地掛載

      命令執行成功之后,將SD卡拔出,開發板開關撥到EMMC啟動,復位開發板,重新進入到UBOOT命令行。

      4. ?對EMMC進行分區 (UBOOT命令行里執行)

      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. ?對分區進入格式化,安裝文件系統(UBOOT命令行里執行)

      TINY4412 # ext3format mmc 0:1

      TINY4412 # ext3format mmc 0:2

      TINY4412 # ext3format mmc 0:3

      TINY4412 # ext3format mmc 0:4

      將設備0(EMMC設備)的第2個分區格式化陳EXT3文件系統格式。

      6. ?設置UBOOT環境變量,讓內核使用網絡方式掛載根文件系統(NFS)。(UBOOT命令行里執行)

      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 //保存環境變量

      Saving Environment to SMDK bootable device...

      Done

      TINY4412 # reset //重啟開發板,進行網絡文件系統掛載

      7. ?掛載EMMC的2號分區

      將EMMC的第2個分區掛載到/mnt目錄下。

      [root@tiny4412 ]#rm /dev/mmcblk* //將dev目錄下原來的mmc設備節點刪除掉

      [root@tiny4412 ]#mdev -s //重新生成設備節點

      [root@tiny4412 ]#ls /dev/mmcblk0* -l //查看生成之后的EMMC設備節點

      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個分區掛載到/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. ?將之前打包的文件系統壓縮包解壓到掛載目錄下

      [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. ?重啟開發板,進入到UBOOT命令行,重新設置環境變量為本地掛載

      TINY4412 # set bootargs root=/dev/mmcblk0p2 rootfstype=ext3 init=/linuxrc console=ttySAC0,115200 lcd=s702 coherent_pool=2M //設置環境變量

      TINY4412 # save //重啟開發板

      Saving Environment to SMDK bootable device...

      done

      TINY4412 # reset //復位開發板

      正常沒有問題的情況下,開發板文件已經掛載成功。

      10. ? 開發板文件系統與PC通信的方法

      (1) ?可以通過SD卡、U盤等方式給開發板拷貝文件。

      (2) ?可以通過NFS文件系統進行遠程掛載: 將NFS文件服務器的目錄掛載到本地。

      ? ?開發板NFS網絡文件系統掛載

      1. ?修改PC機上NFS文件系統共享的目錄

      [root@wbyq /]# mkdir /code //在根目錄下創建一個code目錄

      [root@wbyq /]# gedit /etc/exports //打開NFS服務器配置文件

      2. ?重啟NFS服務器 (運行之前編寫好的腳本文件)

      3. ?設置開發板上的網卡IP地址 (開發板終端上進行操作)

      [root@tiny4412 ]#ifconfig eth0 192.168.10.123

      4. ?掛載NFS服務器共享的目錄(開發板終端上進行操作)

      [root@tiny4412 ]#mount -t nfs -o nolock 192.168.10.11:/code /mnt/

      5. ?為了方便后續使用,可以編寫一個腳本。

      [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 //查看腳本文件里的內容

      ifconfig eth0 192.168.10.123

      mount -t nfs -o nolock 192.168.10.11:/code /mnt

      [root@tiny4412 ]#chmod 777 nfs_start.sh //修改腳本權限

      任務2: 360WIFI驅動(與相關的無線管理工具安裝)

      購買的360WIFI: 2代。小度WIFI(百度)。 小米WIFI(小米)。

      ? ?學習無線WIFI驅動: 完整的WIFI驅動

      1. ?如何下載官網提供的驅動源碼,進行編譯、配置、安裝: ARM

      2. ?學習WIFI相關的無線管理工具。

      3. ?學習網卡自動分配IP地址,才可以訪問公網: 必須保證連接的熱點可以上網

      uboot環境變量設置:

      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

      硬件開發 網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:一文帶你全面了解java對象的序列化和反序列化
      下一篇:SQL實用語句大全
      相關文章
      中文字幕在线日亚洲9| 99亚偷拍自图区亚洲| 亚洲老熟女五十路老熟女bbw| 久久国产精品亚洲综合| 亚洲色精品aⅴ一区区三区| 亚洲国产精品成人久久蜜臀| 亚洲人成网站免费播放| 亚洲日韩精品无码专区加勒比☆| 亚洲av无码国产综合专区| 亚洲小说区图片区| 亚洲香蕉在线观看| 中文字幕在线日亚洲9| 国产成人亚洲综合一区| 亚洲Av高清一区二区三区| 亚洲一区二区三区久久| 亚洲人成人网毛片在线播放| 亚洲综合精品第一页| 亚洲a∨国产av综合av下载| 国产av无码专区亚洲av毛片搜| 亚洲高清在线视频| 亚洲免费在线视频| 无码专区—VA亚洲V天堂| 亚洲午夜无码AV毛片久久| 久久精品国产亚洲AV不卡| 亚洲乱亚洲乱妇24p| 亚洲AV成人一区二区三区观看 | 亚洲国产精品久久久久| 亚洲精品无码不卡在线播放HE| 青青草原亚洲视频| 亚洲综合区图片小说区| 亚洲欧洲在线播放| 涩涩色中文综合亚洲| 国产亚洲福利精品一区二区| 亚洲人成网站观看在线播放| 亚洲日本一区二区三区在线| 久久久久亚洲AV成人无码网站| 亚洲色偷偷av男人的天堂| 亚洲国产激情在线一区| MM1313亚洲国产精品| 久久久久国产成人精品亚洲午夜 | 中国亚洲女人69内射少妇|