博客專欄

        EEPW首頁 > 博客 > MY-IMX28 Linux-3.14.54 編譯手冊(3)

        MY-IMX28 Linux-3.14.54 編譯手冊(3)

        發布人:Myzr888 時間:2019-06-18 來源:工程師 發布文章

        【接上一章節MY-IMX28 Linux-3.14.54 編譯手冊(2)】

        7  應用程序編譯
        7.1  Linux應用程序編譯
        7.1.1  編寫應用程序
        進入工作目錄
        $ cd ~/my-imx28/01_application/

        編寫源代碼
        $ vim hello.c 
        寫入以下代碼并保存 
        include <stdio.h>&nbsp;
        int main(int argc, char **argv)&nbsp;
        {&nbsp;
          printf("Hello, MYZR!\n");&nbsp;
          return;&nbsp;
        }&nbsp;
        查看代碼&nbsp;
        $ cat hello.c&nbsp;


        7.1.2  編譯應用程序
        配置環境變量
        $ source ~/my-imx28/03_tools/gcc-4.4.4-glibc-2.11.1-multilib-env

        編譯&nbsp;
        $ ${CROSS_COMPILE}gcc hello.c -o hello.out&nbsp;

        注意:上面的命令有包含“$”號,即“${CROSS_COMPILE}gcc”,是引用我們source時產生的環境變量。&nbsp;
        目標文件&nbsp;
        $ file hello.out&nbsp;

        可以看到目標文件 hello.out 的屬性。

        8  文件系統
        8.1  文件系統rootfs.tar.bz2
        用以下的方式增加自己的應用:(把MY-IMX28_Born_Tool\Profiles\MX28 Linux Update\OS Firmware\files\image-linux-31454/rootfs.tar.bz2復制到“~/my-imx28/04_image/”目錄下)。


        8.2  文件系統filesystem.ubifs
        復制mkfs.ubifs,ubinize到電腦的“/usr/bin”目錄下(如果電腦有這兩個應用就不需要復制了);復制build_rootfs和ubinize.cfg到“~/my-imx28/04_image/”目錄。


        9  燒寫方式
        至此,我們在“~/my-imx28/02_source/”得到了除文件系統以外的一套燒錄文件。包括“u-boot.sb”、“imx28-evk.dtb”、“zImage”、“rootfs.tar.bz2”。

        9.1  使用MFGTOOL燒寫
        把文件“u-boot.sb”、“imx28-evk.dtb”、“zImage”、“rootfs.tar.bz2復制到“MY-IMX28_Born_Tool\Profiles\MX28 Linux Update\OS Firmware\files\image-linux-31454”目錄下。按住REC按鍵,插上MINI USB線和電源線,接著打開MfgTool.exe,點擊“掃描設備”,檢測到HID設備時,松開REC按鍵,如下所示:

        點擊菜單的“Options”,然后在選項“Profiles”選擇“MY-IMX28-3.14.54 NAND with uboot”,接著點擊“確定”,最后點擊“開始”。

        燒寫成功后,點擊“停止”就OK了。
        注意:如果你用的文件系統是rootfs-qt.tar.bz2,請選擇“QT-MY-IMX28-3.14.54 NAND with uboot”燒寫鏡像。

        9.2  使用網絡燒寫
        9.2.1  搭建TFTP (ubuntu系統)
        (1) Setup tftp server files (下載并安裝tftp)
          $ sudo apt-get install tftpd tftp openbsd-inetd
        (2) make a tftp directory (新建tftp目錄和改變其屬性)
        Here we make /home/myzr/tftpt be a tftp directory.
          $ mkdir /home/myzr/tftp
          $ chmod 777 /home/myzr/tftp
        (3) Open /etc/inetd.conf and edit it (修改配置文件的tftp目錄)
          $ sudo gedit /etc/inetd.conf
        Coment this line&nbsp;:
        tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
        Add new line:
        tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /home/myzr/tftp
        (4)Restarting tftp service (重啟tftp)
          $ sudo /etc/init.d/openbsd-inetd restart

        9.2.2  搭建NFS (網絡燒寫不需要用到nfs)
        (1) Install NFS server package (下載并安裝nfs)
          $ sudo apt-get install nfs-kernel-server
        (2) Create NFS directory:/home/myzr/nfsroot (新建nfs目錄)
          $ mkdir /home/myzr/nfsroot
        (3) Configure mounted directory and authority (修改配置文件的nfs目錄)
          $ sudo gedit /etc/exports
        Add the following line at the end of the file:
        /home/myzr/nfsroot *(rw,sync,no_root_squash)
        (4) Restart the NFS service (重啟nfs)
          $ sudo /etc/init.d/portmap restart
          $ sudo /etc/init.d/nfs-kernel-server restart

        9.2.3  tftp下載
        (1) 把“u-boot.sb”、“imx28-evk.dtb”、“zImage”、“filesystem.ubifs”復制到“/home/myzr/tftp”目錄下。
        (2) 設置環境變量(板子和電腦網線直連)
        $ setenv ipaddr 192.168.3.104 (板子IP)
        $ setenv serverip 192.168.3.110 (電腦IP)
        (3) 燒寫
        $ run update_nand_kernel (燒寫zImage)


        $ run update_nand_fdt (燒寫fdt)


        $ run update_nand_filesystem (燒寫文件系統)


        10  登錄方式
        10.1  串口登錄
        插上USB轉串口線和電源,開機后,差不多10秒后,在終端上敲回車鍵可以進入系統。


        【下章節為MY-IMX28 Linux-3.14.54 編譯手冊(4)】

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞:

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 惠安县| 阳新县| 宜兰市| 大丰市| 嘉峪关市| 晋江市| 务川| 五河县| 松阳县| 无锡市| 新巴尔虎左旗| 上犹县| 东辽县| 清流县| 肇州县| 平山县| 澄迈县| 渑池县| 莫力| 贵州省| 余姚市| 莎车县| 进贤县| 巫溪县| 佳木斯市| 贵州省| 绥化市| 永城市| 九寨沟县| 乌审旗| 长宁县| 贡嘎县| 芒康县| 观塘区| 新源县| 剑河县| 高要市| 邵阳县| 虞城县| 磐石市| 抚顺县|