软件工具准备: 1.Jlink烧录软件(Setup_JLinkARM_V410i.exe)
2 .Windows下 tftp软件安装(tftp32.exe)
3.远程登陆软件(securecrt或Putty)
4. USB转串口驱动安装(PL-2303)
一、将内存初始化程序bootstrap下载至SRAM并运行
1.打开J-Link Commander,将fl2440开发板拨至nand flash启动,也就是按下电源
电源开关。
2.以下是常用命令:
speed 12000:设置下载速率为12M。
r:reset,复位命令。
h:halt,停机、也有暂停的功能。
loadbin <filename> <address>:下载filename文件到地址address上。
setpc:设置PC寄存器的值。
3.具体操作
J-Link>speed 12000
J-Link>h
J-Link>loadbin E:\images\bootstrap-s3c2440.bin 0
J-Link>setpc 0
J-Link>g
****************************************************************************************************************************************************
说明:
(1).speed 12000意在设定开发板频率,也就是设置开发板的下载速率
(2).因为选择从nand flash启动时;0x00000000是映射到4K的SRAM中的,SRAM不需要初始化、即可直接运行程序。
bootstrap-s3c2440.bin是郭工写的一段很简单的内存初始化程序,其实它就是uboot.bin文件的前4k代码;注意大小必须等于或小于4KB。
****************************************************************************************************************************************************
二、下载u-boot程序至SDRAM内存
J-Link>h
J-Link>loadbin E:\images\u-boot-s3c2440.bin 0x33f80000
J-Link>setpc 0x33f80000
J-Link>g
**************************************************************************************************************************************************
说明:将这个bin文件载入到33f80000这个内存地址
****************************************************************************************************************************************************
三、使用u-boot烧录我们的程序至nand flash
1.设置uboot环境变量
u-boot>nand scrub /*擦出整个nandflash所有分区,也就是格式化nandflash*/
u-boot>set ethaddr 00:11:22:33:44:55 /*设置网卡MAC地址 */
u-boot>set ipaddr 192.168.1.2 /*设置网卡ip地址,也就是开发板的ip地址 */
u-boot>set serverip 192.168.1.168 /*设置tftp服务器地址,也就是本机以太网卡的ip地址 */
u-boot>save /*保存uboot环境变量*/
2.烧录u-boot-s3c2440.bin程序
u-boot>tftp 30008000 u-boot-s3c2440.bin /*下载u-boot程序到sdram内存中*/
u-boot>nand erase 0 100000 /*擦除u-boot存放相应分区*/
u-boot>nand write 30008000 0 60000 /*三个数字对应首地址,偏移量,文件大小,该命令是将u-boot从内存中写到nandflash的相 应分区*/
3.烧录linux内核
u-boot>tftp 30008000 linuxrom-s3c2440.bin /*下载linux内核文件到sdram内存中*/
u-boot>nand erase 100000 800000 /*擦除linux内核及相应的分区,100000是分区起始地址,800000是分区的大小,擦 除是整个分区的擦, 不能擦除一个分区的一部分,否则会出错*/
u-boot>nand write 30008000 100000 800000 /*将linux内核从内存中写到nandflash相应分区*/
|