查看: 178|回复: 0

[资料] MY-IMX28 Linux-3.14.54 编译手册(3)

[复制链接]

主题

好友

2742

积分

进士

  • TA的每日心情
    无聊
    2016-8-19 09:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-6-11 17:33:14 |显示全部楼层
    【接上一章节MY-IMX28 Linux-3.14.54 编译手册2)】
    7  应用程序编译7.1  Linux应用程序编译7.1.1  编写应用程序
    进入工作目录
    $ cd ~/my-imx28/01_application/
    MY-IMX28 Linux-3.14.54 编译手册7.1.1.1.png
    编写源代码
    $ vim hello.c
    写入以下代码并保存
    include <stdio.h>
    int main(int argc, char **argv)
    {
      printf("Hello, MYZR!\n");
      return;
    }
    查看代码
    $ cat hello.c
    MY-IMX28 Linux-3.14.54 编译手册7.1.1.2.png
    7.1.2  编译应用程序
    配置环境变量
    $ source ~/my-imx28/03_tools/gcc-4.4.4-glibc-2.11.1-multilib-env
    MY-IMX28 Linux-3.14.54 编译手册7.1.2.1.png
    编译
    $ ${CROSS_COMPILE}gcc hello.c -o hello.out
    MY-IMX28 Linux-3.14.54 编译手册7.1.2.2.png

    注意:上面的命令有包含“$”号,即“${CROSS_COMPILE}gcc”,是引用我们source时产生的环境变量。
    目标文件
    $ file hello.out
    MY-IMX28 Linux-3.14.54 编译手册7.1.2.3.png

    可以看到目标文件 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/”目录下)。
    MY-IMX28 Linux-3.14.54 编译手册8.1.0.1.png
    8.2  文件系统filesystem.ubifs
    复制mkfs.ubifs,ubinize到电脑的“/usr/bin”目录下(如果电脑有这两个应用就不需要复制了);复制build_rootfs和ubinize.cfg到“~/my-imx28/04_image/”目录。
    MY-IMX28 Linux-3.14.54 编译手册8.2.0.1.png
    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按键,如下所示:
    MY-IMX28 Linux-3.14.54 编译手册9.1.0.1.png


    点击菜单的“Options”,然后在选项“Profiles”选择“MY-IMX28-3.14.54 NAND with uboot”,接着点击“确定”,最后点击“开始”。
    MY-IMX28 Linux-3.14.54 编译手册9.1.0.2.png

    烧写成功后,点击“停止”就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 :
    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)
    MY-IMX28 Linux-3.14.54 编译手册9.2.3.1.png
    $ run update_nand_fdt (烧写fdt)
    MY-IMX28 Linux-3.14.54 编译手册9.2.3.2.png


    $ run update_nand_filesystem (烧写文件系统)
    MY-IMX28 Linux-3.14.54 编译手册9.2.3.3.png
    10  登录方式10.1  串口登录
    插上USB转串口线和电源,开机后,差不多10秒后,在终端上敲回车键可以进入系统。
    MY-IMX28 Linux-3.14.54 编译手册10.1.0.1.png
    【下章节为MY-IMX28 Linux-3.14.54 编译手册4)】

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /7 下一条

    手机版|电路城

    GMT+8, 2019-9-22 03:25 , Processed in 0.114808 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz!

    返回顶部