×
单片机 > 单片机程序设计 > 详情

JZ2440开发板烧写系统

发布时间:2020-06-18 发布时间:
|

注意USB烧写方法:


1、因为没有裁剪的u-boot达到500K,但是我们自带的u-boot烧写分区没有这么大,所以不能使用u-boot来烧写u-boot,只能使用u-boot里的指令来烧写:

   烧写到nand flash:

    usb 1 30000000

    用DNW发送文件过去

    nand erase 0 80000

    nand write 30000000 0 80000  

    把开关拨到nand重启有输出,说明现在支持了nand启动


   烧写到nor flash:

    usb 1 30000000         //1表示一直等待

    用DNW发送文件过去

    protect off all        //解除norflash写保护

    erase 0 7FFFF          //擦除从0到0x7FFFF共0x80000个字节

    cp.b 30000000 0 80000  //从内存0x30000000开始烧写程序到norflash的0地址去,烧写0X80000个字节


2、新烧写到nor flash的u-boot不支持USB烧写,可以使用以下命令,用WINS自带的超级终端下载烧写,ymodem模式:

    loady 32000000         //此时运行的是老的u-boot,栈指针在0x30000000,故不能下载到0x30000000

    protect off all

    erase 0 7ffff

    cp.b 32000000 0 80000  

    reset

   

3、修改好网卡后可以用tftp下载内核:

    set ipaddr 192.168.48.100

    set ethaddr 00:0c:29:4d:e4:f4

    到这里先要在xp打开tptp服务器,服务器ip为192.168.48.103

    set serverip 192.168.48.103

    tftp 30000000 uImage

    bootm 30000000


4、用tftp下载u-boot到nor flash,同样可以用tftp下载u-boot到nand flash:

    ①设置:

    set ipaddr 192.168.48.100

    set ethaddr 00:0c:29:4d:e4:f4

    到这里先要在xp打开tptp服务器,服务器ip为192.168.48.103

    set serverip 192.168.48.103


    ②使用:

    tftp 30000000 u-boot.bin

    protect off all        //解除norflash写保护

    erase 0 3FFFF          //新裁剪的u-boot只有200k,擦除从0到0x3FFFF共0x40000个字节

    cp.b 30000000 0 40000

    reset


5、烧写内核:

内核打印出来的分区信息

        地址:    大小:

    0x00000000-0x00040000 : "bootloader"

    0x00040000-0x00060000 : "params"

    0x00060000-0x00260000 : "kernel"

    0x00260000-0x10000000 : "root"


    nand erase 60000 200000

    nand write 30000000 60000 200000   


    tftp 30000000 uImage                      //从PC机上下载

    或者nfs下载(从Ubuntu服务器上下载):

     nfs 30000000 192.168.48.105:/home/book/workspace/jz2440/nfs_donwload/uImage;nand erase.part kernel;nand write 30000000 kernel

    或:

     nfs 30000000 192.168.48.105:/home/book/workspace/jz2440/nfs_donwload/uImage;nand erase kernel;nand write 30000000 kernel


    nand erase.part kernel

    nand write 30000000 kernel

    或:tftp 30000000 uImage;nand erase.part kernel;nand write 30000000 kernel


6、烧写200K的u-boot

   烧写到nand flash:

    tftp 30000000 u-boot.bin               //从PC机上下载

    或者nfs下载(从Ubuntu服务器上下载):

    nfs 30000000 192.168.48.105:/home/book/workspace/jz2440/nfs_donwload/u-boot.bin;nand erase 0 40000;nand write 30000000 0 40000

    或:

    nfs 30000000 192.168.48.105:/home/book/workspace/jz2440/nfs_donwload/u-boot.bin;nand erase.part bootloader;nand write 30000000 bootloader


    nand erase 0 40000

    nand write 30000000 0 40000

   或:tftp 30000000 u-boot.bin;nand erase 0 40000;nand write 30000000 0 40000

    把开关拨到nand重启有输出,说明现在支持了nand启动


7、烧写yaffs2文件系统:

    tftp 30000000 fs_mini_mdev.yaffs2

    或者:

    nfs 30000000 192.168.48.105:/home/book/workspace/jz2440/nfs_donwload/fs_mini_mdev.yaffs2


    //nand erase.part rootfs

    nand erase root

    nand write.yaffs 30000000 260000 889bc0


8、烧写JFFS2文件系统:

    tftp 30000000 fs_mini_mdev.jffs2

    或者:

    nfs 30000000 192.168.48.105:/home/book/workspace/jz2440/nfs_donwload/fs_mini_mdev.jffs2


    nand erase.part rootfs

    nand write.jffs2 30000000 0x00260000 5b89a8

    

    set bootargs noinitrd root=/dev/mtdblook3 rootfstype=jffs2 init=/linuxrc console=ttySAC0

    或(参考:u-boot-2012.04.01流程以及移植说明):

    set bootargs console=ttySAC0 root=/dev/mtdblock3 rootfstype=jffs2


    save

    boot


注意:nor flash启动的u-boot既可以烧写nor flash本身也可以烧写nand flash,但是如果是nand flash启动的话就没办法操作nor flash,因为nand flash启动的时候0地址对应片内内存,无法访问nor flash;

      使用tftp工具下载时,文件不能在中文路径下,否则下载的时候找不到文件导致下载失败。

      烧写文件时文件实际的大小可以在文件下载完成后看到,或则用:$filesize,老版本的要带括号,即$(filesize)

      命令行设置bootcmd:set bootcmd 'nand read 30000000 kernel;bootm 30000000'


关键字:JZ2440  开发板  烧写系统

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会