mx31板子运行过程

  rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

一、烧写redboot

   1.安装开发包解压后的SDK_1_2_Linux/Advanced_ToolKit_installer里的程序AdvancedToolKit

   2.连好串口,然后把boot0-4针脚全部拉低,也就是进入uart模式,然后用AdvancedToolKit通过简单设置后找到片子后先擦除,然后program,默认参数会自动烧到0000000位置。

二、down内核和文件系统

   boot0-4针脚的最高位拉高,进入nand启动模式,上点启动redboot,启动后有如下界面:

           RAM: 0x00000000-0x 07f 00000, [0x 00013f 80-0x07ed1000] available

           FLASH: 0x00000000 - 0x20000000, 4096 blocks of 0x00020000 bytes each.

              RedBoot>

   可首先执行fis init指令,进行flash分区,免得烧错内核和文件系统位置

   1.通过串口

      a.如果没有网络,可通过串口来down内核。

        首先在redboot中执行load -r -b 0x1000000 -m xmodem,然后然后用超级终端发送zimage文件。

        发送完后在redboot中执行fis creat kernel指令,就把内核烧到了相应位置。

      b.如果没有网络,可通过串口来down文件系统。

       首先在redboot中执行load -r -b 0x1000000 -m xmodem,然后然后用超级终端发送rootfs.jffs2文件。

       发送完后在redboot中执行fis creat root指令,就把文件系统烧到了相应位置。

    2.通过网络

      a.如果有网络,可通过网络(tftp)down内核。

        首先在redboot中通过fconfig设置网络,打开一个tftp服务器,其下有zimage文件,然后执行load -r -b 0x1000000 zimage,即可下载。

        发送完后在redboot中执行fis creat kernel指令,就把内核烧到了相应位置。

      b.如果有网络,可通过网络(tftp)down文件系统。

       首先打开一个tftp服务器,其下有rootfs.jffs2文件,在redboot中执行load -r -b 0x1000000 rootfs.jffs2,即可下载。

       发送完后在redboot中执行fis creat root指令,就把文件系统烧到了相应位置。

三、系统启动

    系统启动有两种方式:挂载flash中的文件系统启动和挂载nfs的文件系统启动(方便调试)

    1.flash启动

       a.reset板子,redboot启动后运行fis load kernel,加载内核(把烧到flash的内核加载)。

       b.redboot运行exec -b 0x100000 -l 0x200000  -c "noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rootfstype=jffs2"即可。

    2.nfs启动

      a.reset板子,redboot启动后运行fis load kernel,加载内核(把烧到板子的内核加载)。

       b.redboot运行exec -b 0x100000 -l 0x200000 -c "noinitrd console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.0.117:/nfspool init=/linuxrc ip=192.168.0.123:192.168.0.117"

     其中192.168.0.117nfs服务器ip192.168.0.123为板子运行的ip

四、一点总结

    根据运行过程,fis load kernel是把内核加载到了0x1000000的位置,相当于刚刚和执行完load -r -b 0x1000000 zimage指令,在这两种情况下都可以运行exec -b 0x100000 -l 0x200000 ...指令来进行系统启动,load -r -b 0x1000000 zimage方便了调试内核,不需要每次都烧到flash后再来运行。

    还有一点,烧后的文件系统开始找不到,还抱错误,可能redboot编译时设置的block不标准,可修改root=/dev/mtdblock2的数字进行尝试。

    其中当/dev/mtdblock2的数字大锅总block数时,提示会列出所有block,方便了信息的查看,如下:

       VFS: Unable to mount root fs via NFS, trying floppy.

       List of all partitions:

       1f 00       1024 mtdblock0 (driver?)

       1f 01       5120 mtdblock1 (driver?)

       1f 02      98304 mtdblock2 (driver?)

       1f 03       8192 mtdblock3 (driver?)

       1f 04     411648 mtdblock4 (driver?)

       No filesystem could mount root, tried:  jffs2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值