hi3516 uboot imx327


原文链接: hi3516 uboot imx327

/*********************************** hi3516dv300 ******************************************/
(1)编译整个osdrv目录
make all
(2)单独编译kernel
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage

//制作烧录文件系统
osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc_3516dv300 -l -e 0x10000 -o osdrv/pub/rootfs_hi3516dv300_64k.jffs2

0x10 0000 1M
0x40 0000 4M
0xb0 0000 11M
0x100 0000 16M
0x1b00 0000 27M
0x200 0000 32M

以 16M SPI NOR Flash 为例

  1. 地址空间说明
    | 1M | 4M | 11M |
    |----------------------|---------------------|---------------------|
    | boot | kernel | rootfs |

以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。

  1. 烧写 u-boot
    mw.b 0x82000000 0xff 0x100000
    tftp 0x82000000 u-boot-hi3516dv300.bin
    sf probe 0;sf erase 0x0 0x100000;sf write 0x82000000 0x0 0x100000

  2. 烧写内核 kernel
    mw.b 0x82000000 0xff 0x400000
    tftp 0x82000000 uImage_hi3516dv300
    sf probe 0;sf erase 0x100000 0x400000;sf write 0x82000000 0x100000 0x400000

  3. 烧写文件系统 rootfs 11M
    mw.b 0x82000000 0xff 0xb00000
    tftp 0x82000000 rootfs_hi3516dv300_64k.jffs2
    sf probe 0;sf erase 0x500000 0xb00000;sf write 0x82000000 0x500000 0xb00000

    setenv serverip 192.168.100.100;setenv ipaddr 192.168.100.10;
    mw.b 0x80000000 0xFF 0xb00000;tftp 0x80000000 rootfs_hi3516dv300_64k.jffs2;
    mw.b 0x80000000 0xFF 0xb00000;tftp 0x80000000 rootfs-imx385.jffs2;

  4. 设置启动参数(注意 linux-4.9.y kernel 默认文件系统只读,需要在 bootargs 中加入
    rw 选项,文件系统才可读写)
    setenv bootargs 'mem=128M console=ttyAMA0,115200 coherent_pool=2M root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)'
    setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000'
    saveenv

  5. 重启系统
    reset

以 32M SPI NOR Flash 为例

  1. 地址空间说明
    | 1M | 4M | 27M |
    |----------------------|---------------------|---------------------|
    | boot | kernel | rootfs |
    以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。

  2. 烧写 u-boot
    mw.b 0x82000000 0xff 0x100000
    tftp 0x82000000 u-boot-hi3516dv300.bin
    sf probe 0;sf erase 0x0 0x100000;sf write 0x82000000 0x0 0x100000

  3. 烧写内核 kernel
    mw.b 0x82000000 0xff 0x400000
    tftp 0x82000000 uImage_hi3516dv300
    sf probe 0;sf erase 0x100000 0x400000;sf write 0x82000000 0x100000 0x400000

  4. 烧写文件系统
    mw.b 0x82000000 0xff 0x1b00000
    tftp 0x82000000 rootfs_hi3516dv300_64k.jffs2
    sf probe 0;sf erase 0x500000 0x1b00000;sf write 0x82000000 0x500000 0x1b00000

  5. 设置启动参数(注意 linux-4.9.y kernel 默认文件系统只读,需要在 bootargs 中加入
    rw 选项,文件系统才可读写)
    setenv bootargs 'mem=128M console=ttyAMA0,115200 coherent_pool=2M root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),27M(rootfs)'
    setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000'
    saveenv

  6. 重启系统
    reset

./load3516dv300 -i -sensor0 imx327 -osmem 128M

`