国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 基于ARM開發(fā)板的SD卡掛載及后臺程序自啟動

基于ARM開發(fā)板的SD卡掛載及后臺程序自啟動 時間:2018-03-14      來源:SD卡掛載及后臺程序自啟動講解

1.SD卡驅動的移植

【實驗步驟】

①修改設備樹文件

$ vim arch/arm/boot/dts/exynos4412-fs4412.dts

修改
sdhci@12530000 {
       bus-width = <4>;
       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
       pinctrl-names = "default";
       vmmc-supply = <&mmc_reg>;
       status = "okay";
       };

為:
sdhci@12530000 {
       bus-width = <4>;
       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
       cd-gpios = <&gpx0 7 0>;
       cd-inverted =  <0>;
       pinctrl-names = "default";
       /*vmmc-supply = <&mmc_reg>;*/
       status = "okay";
       };

②配置內核
$ make menuconfig
Device Drivers  --->
       <*> MMC/SD/SDIO card support  --->
              <*>   Secure Digital Host Controller Interface support
              <*>   SDHCI support on Samsung S3C SoC
File systems  --->
       DOS/FAT/NT Filesystems  --->
              <*> MSDOS fs support
              <*> VFAT (Windows-95) fs support
              (437) Default codepage for FAT
              (iso8859-1) Default iocharset for FAT
       -*- Native language support  --->
              <*>   Codepage 437 (United States, Canada)
              <*>   Simplified Chinese charset (CP936, GB2312)
              <*>   ASCII (United States)
              <*>   NLS ISO 8859-1  (Latin 1; Western European Languages)
                     <*>   NLS UTF-8

③編譯內核和設備樹

$ make uImage

$ make dtbs

④測試:

拷貝內核和設備樹文件到/tftpboot目錄下

$ cp arch/arm/boot/uImage /tftpboot

$ cp arch/arm/boot/dts/exynos4412-fs4412.dtb /tftpboot/

啟動開發(fā)板會有如下內容顯示:

[ 1.620000] mmc0: new high speed SDHC card at address cd6d

[ 1.625000] mmcblk1: mmc0:cd6d SE08G 7.28 GiB

[ 1.630000] mmcblk1: p1(mmcblk1 為設備名 p1 為分區(qū)名)

掛載,注意不要掛在EMMC的分區(qū)

$ mount /dev/mmcblk1p1 /mnt

查看/mnt/目錄即可看到sd卡中內容

2.拷貝我們的應用程序及所需庫的到SD卡

基于ARM開發(fā)板的SD卡掛載及后臺程序自啟動

3.在/source/rootfs下添加start.sh腳本文件,首先配置我們QT的移植的相關參數配置,再mount /dev/mmcblk1p1 /mnt,然后加載我們QT程序所需要的LCD驅動和gt818的觸摸屏的驅動,然后執(zhí)行我們所需要執(zhí)行的程序

基于ARM開發(fā)板的SD卡掛載及后臺程序自啟動

基于ARM開發(fā)板的SD卡掛載及后臺程序自啟動

4.在/source/rootfs/etc/profile下添加source start.sh讓我們的start.sh生效

基于ARM開發(fā)板的SD卡掛載及后臺程序自啟動

3. ramdisk.img的制作

①制作一個大小為8M的鏡像文件(du -sh 查看文件系統(tǒng)的大小)

$ cd ~

$ dd if=/dev/zero of=ramdisk bs=1k count=8192 (ramdsik為8M)

②格式化這個鏡像文件為ext2

$ mkfs.ext2 -F ramdisk

③在mount下面創(chuàng)建initrd目錄作為掛載點

$ sudo mkdir /mnt/initrd

④將這個磁盤鏡像文件掛載到/mnt/initrd下

注意這里的ramdisk不能存放在rootfs目錄中

$ sudo mount -t ext2 ramdisk /mnt/initrd

⑤將測試好的文件系統(tǒng)里的內容全部拷貝到 /mnt/initrd目錄下面

$ sudo cp /source/rootfs/* /mnt/initrd –a

cp /* /mnt/initrd –a

⑥卸載/mnt/initrd

$ sudo umount /mnt/initrd

⑦壓縮ramdisk為ramdisk.gz

$ gzip --best -c ramdisk > ramdisk.gz

⑧格式化為uboot識別的格式并拷貝到/tftpboot下

$ mkimage -n "ramdisk" -A arm -O linux -T ramdisk -C gzip -d ramdisk.gz ramdisk.img

$ cp ramdisk.img /tftpboot

⑨配置內核支持RAMDISK

制作完 initrd.img.gz后,需要配置內核支持RAMDISK作為啟動文件系統(tǒng)
make menuconfig
File systems  --->
       <*> Second extended fs support
Device Drivers
       SCSI device support  --->
              <*> SCSI disk support
       Block devices  --->
              <*>RAM  block  device  support  
              (16)Default number of RAM disks 
              (8192) Default RAM disk size (kbytes)   (修改為8M)
General setup  --->
              [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

重新編譯內核,復制到/tftpboot

⑩在U-BOOT命令行重新設置啟動參數:

# setenv bootcmd tftp 41000000 uImage\;tftp 42000000 exynos4412-fs4412.dtb\;tftp 43000000 ramdisk.img\;bootm 41000000 43000000 42000000

# saveenv

重新啟動開發(fā)板查看能否正常啟動

上一篇:Linux 內核驅動 - ADC 驅動

下一篇:半導體器件——MOS管

熱點文章推薦
華清學員就業(yè)榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5,京公海網安備11010802025203號

回到頂部