日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 學習嵌入式Linux系統(tǒng)的筆記和體會(2)

          學習嵌入式Linux系統(tǒng)的筆記和體會(2)

          ——
          作者: 時間:2007-02-28 來源:天極網(wǎng) 收藏

          入門試驗,制作一個簡單的應用

            我們使用一張軟盤啟動一臺假象的只有一個串口,鍵盤輸入,顯示輸出的x86架構的linux系統(tǒng),執(zhí)行的特定應用就是運行minicom,通過串口撥號。需要軟件: minicom-xx.src.tar.gz 和 syslinux-xx.tar.gz,xx代表版本號,開始之前,在主目錄建立一個目錄,來釋放這兩個軟件包:

          cd
          mkdir -p project/minilinux
          cd project/minilinux
          tar zxvf minicom-xx.src.tar.gz
          tar zxvf syslinux-xx.tar.gz

            1、裁減linux內核(需要系統(tǒng)安裝內核文件包)

            配置內核的時候,我們需要選擇這些:摸塊編入內核,386處理器、物理內存off、支持ELF、標準PC軟盤、支持RAM盤(4096)、支持 initial RAM disk (initrd)、虛你終端、虛擬終端控制臺、標準串口、ext2文件系統(tǒng)、控制臺驅動,VGA text console、DOS FAT、MSDOS文件系統(tǒng),其他的都可以不要,這樣內核編出來較小。

          步驟:
          cd /usr/src/linux
          make mrproper
          make xconfig
          make dep && make bzImage
          得到 /usr/src/linux/arch/i386/boot/目錄的內核文件bzIamge。

            2、編譯一個靜態(tài)的minicom ,把它作為將來的linuxrc

          cd minicom-xx/src
          vi Makefile
          修改下面這行
          minicom: $(minicom_OBJECTS) $(minicom_DEPENDENCIES)
          rm -f minicom 下面的行加上 -static,連接為靜態(tài)程序
          (LINK) -static $(minicom_LDFLAGS) $(minicom_OBJECTS) $(minicom_LDADD) $(LIBS)

          vi minicom.c
          找到 if (real_uid==0 && dosetup==0 ) 刪除這個判斷條件語句,主要是用于權限判斷的,因為這個嵌入應用不關注權限問題,否則會出錯。
          make
          得到可執(zhí)行程序,用ldd 檢查一下是不是靜態(tài)程序。

            3、準備initrd壓縮文件image.gz

          dd if=/dev/zero of=image bs=1k count=4096
          losetup /dev/loop0 image
          mke2fs -m 0 /dev/loop0
          mounmt -t ext2 /dev/loop0 /mnt/
          mkdir -p /mnt/dev
          mkdir -p /mnt/usr/share/terminfo/l/
          cd /dev
          cp -a consle null tty tty0 zero mem /mnt/dev
          cp -P /usr/share/terminfo/l/linux /mnt/usr/share/terminfo/l/linux
          cp ~/project/minilinux/mincom/src/minicom /mnt/linuxrc
          umount /mnt
          losetup -d /dev/loop0
          sync
          gzip -9 image

          4、制作軟盤引導,并拷貝文件 bzimage image.gz 到軟盤

          A.使用grub
          fdformat /dev/fd0
          mke2fs /dev/fd0
          mount /mnt/fd0 /mnt/floppy
          mkdir -p /mnt/floppy/boot/grub
          cp /boot/grub/stage1 /boot/grub/stage2 /mnt/floppy/boot/grub
          執(zhí)行 grub,在軟盤上創(chuàng)建引導
          grub > root (fd0)
          grub > setup (fd0)
          grub > quit

          cp /usr/src/linux/arch/i386/boot/bzImge /mnt/floppy
          cp ~/porject/minilinux/image.gz /mnt/floppy

          編輯 /mnt/floppy/boot/grub/grub.conf
          default =0
          timeout-=10
          title minilinux
          root (fd0)
          kernel /bzImage
          initrd /image.gz

          卸下軟盤
          umount /mnt/floppy


          B. 使用syslinux
          fdformat /dev/fd0
          mkfs.msdos /dev/fd0
          mount -t msdos /dev/fd0 /mnt/floppy

          cp /usr/src/linux/arch/i386/boot/bzImge /mnt/floppy
          cp ~/porject/minilinux/image.gz /mnt/floppy

          cp syslinux-xx/ldlinxu.sys /mnt/floppy
          cat > /mnt/floppy/syslinux.cfg
          LABEL linux
          KERNEL bzimage
          APPEND initrd=image.gz

          umont /mnt/floppy
          syslinux-xx/syslinux /dev/fd0
          sync

            5、用軟盤啟動計算機,如果幸運,minicom的運行畫面出現(xiàn)在屏幕上。

            到此,我們的單應用嵌入式linux做好了,但它還很簡陋,沒有什么實際用途,但通過這個實驗,可以了解嵌入式系統(tǒng)的大致結構和開發(fā)過程。在進行實際的嵌入式開發(fā)時,通常要在PC機上借助嵌入式linux開發(fā)工具包,如:uclinux,bluecat等,對相應的硬件平臺(目標機)進行軟件編寫編譯,調試成功后,將內核及應用程序寫入到目標機的存儲器中,從而完成整個應用。


           



          評論


          相關推薦

          技術專區(qū)

          關閉