开发板烧录
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界面,选择"EraseFlash 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.
相关文章推荐
- 开发板烧录
- 丢魂了
- caffe自己的数据贴标签
- [LED]LCD背光设置为PWM模式的时候,config_data里面的参数如何使用
- 如何使用K2画工作流程图?
- SQLyog客户端 导入sql文件乱码的解决方法
- VJ 122106 C-House Building
- 查询的时候区分大小写
- [Leetcode]14. Longest Common Prefix
- 给分类(Category)添加属性
- Javascript算法练习(五)
- Python蹒跚学步2:feedparser 和 pydelicious的安装
- 响应式图片
- 互联网趋势其实很浮夸
- Nginx负载均衡配置实例详解
- <LeetCode> 题6:合并两个排序数组
- Yii2 使用scenarios
- CodeIgniter框架源码笔记(4)——负责屏幕上呈现的内容:输出类Output.php
- pinyin4j
- POJ 1915 Knight Moves(BFS)