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、uImagerootfs

注: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




四、重启开发板



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值