您的位置:首页 > 其它

开发板烧录

2016-07-15 16:34 330 查看

烧录准备

开发板:FL2440                                    烧录工具:J-link 
                                                                       下载工具:tftp32                                                 串口工具:340

编译工具:Builroot-2011.11交叉编译器                                           调试终端:secureCRT

烧录文件说明

bootstrap-s3c2440.bin:主要用来初始化CPU外部的SDRAM;在烧录时,该程序需要使用j-link下载到0x0(CPU内部SRRAM)地址上去运行,(此程序不需要烧录到Nandflash上。)

u-boot-s3c2440.bin:u-boot就相当于电脑的BIOS程序,该程序用来烧录/启动Linux系统等。在运行完bootstrap后,使用j-link将它加载到0x33f80000(CPU外部SDRAM)中去运行,当他在内存中运行起来后,再使用nand
write命令将他烧录到nandflash的0地址上去。

linuxrom-s3c2440.bin:linuxrom是linux系统文件,我们需要在u-boot运行时,使用tftp命令下载到SDRAM的0x30008000地址上,然后再使用nand
write命令将其烧录nandflash的0x100000地址上,记得flash在写之前一定要先使用nand
erase命令擦除。

 

开始烧录

由于开发板买回来时里面有厂家烧录进去的系统,所以在烧录前得先擦除整个flash。先不插j-link,运行开发板,进入uboot界面,选择"Erase
Flash Partition",擦除bootloader。若不是第一次,可先从终端进入uboot模式,使用nand
scrub格式化。

                               

准备工作做好后,

安装好J-Link驱动,开始J-Link_commonder的连接,在开发板上插入j-link(记住j-link不能热插拔),打开开始菜单,找到SEGGER文件下的J-Link_commonder,双击打



会显示如下画面:

                   

     

说明j-link连接正确,连接正确后接着进行J-link命令操作:从上面倒数第二行可以看到波特率比较小,所以先设置前先停止CPU。其命令为:

j-link> h         (停止CPU中正在执行的程序)
j-link> speed 12000          (设置波特率为12000.)

接下来就是将编译好的bootstrap-s3c2440.bin和u-boot-s3c2440.bin文件下载到开发板的内存上运行。其命令为:

j-link> loadbin G:\fl1440\bootstrap-s3c2440.bin 0 (加载bootstrap程序到CPU内部的4K
SRAM中运行)

j-link> setpc 0  (PC寄存器指向SRAM的起始地址,该地址是刚下载的bootstrap程序)
j-link> g   (开始执行bootstrap程序)
j-link> h   (停止bootstrap程序的执行)
j-link> loadbin G:\fl1440\u-boot-s3c2440.bin 0x33f80000  (将u-boot加载到SDRAM的0x33f80000)

j-link> setpc 0x33f80000  (使PC寄存器指向0x33f80000)

j-link> g   (开始执行u-boot程序 )

这样u-boot就下载到开发板的内存上并可以运行了。这里需要注意的是,在运行完最后一个命令“g“后,应迅速切换到终端,这时开发板会自动启动uboot,需要在一秒钟内通过终端进入到u-boot模式。

因为是在开发板的内存上跑,所以系统一断电就会消失,必须得烧到nand flash上才行。在这之前,用"nand scrub"命令格式化整个nand
flash并恢复出厂设置。

接下来插入网线,设置好ip地址与电脑同一网段。例如:

1, 把自己的有线网卡的IP设置为192.168.1.2

2,   把自己的u-boot的IP设置为192.168.1.113  :  set ipaddr 192.168.1.113

3, 设置u-boot tftp服务器的IP为你的有线网卡的IP:  set serverip 192.168.1.2

 

使用tftp命令开始下载;tftp命令下载的时候开发板的网卡使能,这样你的PC的有线网卡才会工作(记得关闭360和防火墙)

 

使用tftp工具,将uboot下载到开发板内存的相应地址上,再通过nand
write烧录到nand flash上。

->:tftp 30008000 u-boot-s3c2440.bin 
->:nand write 30008000 0 50000   (将uboot烧录到nand
flash,0是烧录的起始地址,50000是我这个uboot的大小,十六进制)

这时可以重启开发板看看,uboot已经烧录到nand flash上了,到这里就可以不用j-link了。重启:uboot下重启命令是reset,linux下是reboot。

之后烧操作系统,即linux内核。
->:tftp 30008000 linuxrom-s3c2440.bin 
->:nand write 30008000 100000 800000

 

注意:nand flash每一次烧录之前,必须得先擦除,再写,使用nand erase命令。

到了这一步开发板的烧录就算完成了。

烧录过程中遇到的问题:

1.IP地址没有设置与电脑在同一网段上



 

2.没有关闭防火墙和360.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  开发板烧录