FL2440 uboot-kernel-rootfs 烧写总结
扫描二维码
随时随地手机看文章
FL2440核心板默认烧录了厂家的系统(bootloader: FL_2440bootV6-1)。经过测试,使用厂家提供的DNW烧写方法烧写发现,该方法限制条件较多,比如DNW软件驱动的安装兼容性问题,当前验证在XP环境下可以正确安装驱动并映射出端口,磕磕绊绊较多,故参考网上FL2440烧录资料,总结FL2440烧录心得,以备后续查阅。
使用工具:J-Link
J-link强制烧写uboot原理:S3C2440有4KB的SRAM,它不需要初始化就可以直接执行程序。S3C2440从NAND FLASH启动时,SRAM的地址会挂载到0x0-0x1000地址空间。
一、准备工作
1、init.bin (1KB),作用:初始化SDRAM。
2、u-boot.bin_openjtag(175KB) 这是一个特殊的Uboot,在编译时在开发板配置文件中添加 #define CONFIG_SKIP_LOWLEVEL_INIT 1//支持在SDRAM中直接运行。添加了这个宏定义后,uboot就跳过了内存初始化部分,因为此时我们的内存已经先由“init.bin“初始化好了,再次初始化会出现内存数据的丢失。
3、u-boot.bin、uImage、rootfs
注:init.bin、u-boot.bin_openjtag下载地址
二、烧写uboot.bin
1.开发板从NAND FLASH启动,连接J-link后,打开J-Link Commander
2.下载init.bin到SRAM(4KB)并运行
3.下载u-boot.bin_openjtag到SDRAM(64MB)0x33f80000并运行,串口显示有OpenJTAG>提示符
4.下载u-boot.bin到SDRAM 0x30000000
5.从SDRAM 0x30000000烧写u-boot.bin到NAND FLASH。u-boot分区512K,u-boot.bin大小224KB
6.移除J-link,重启开发板
三、tftp方式烧写kernel、rootfs
1. 设置uboot环境变量 editenv serverip
2. Tftp 0x30008000 uImage
3. Nand erase 0xa0000 0x400000
4. Nand write 0x30008000 0xa0000 0x400000
5. Tftp 0x30008000 fs_qt4.8.5.yaffs
6. Nand erase 0x4a0000 0x0fb60000
7. Nand write.yaffs 0x30008000 0x4a0000 $filesize
四、重启开发板