使用开发板:micro2440
JTAG:使用usb的JLink v7(不是并口)
电脑:笔记本,没有串口和并口,只有USB口
系统:主系统windows xp 、VMware+ubuntu7.10
问题:无法下载led_on.bin到NAND Flash
按照书P80“实例1:使用汇编代码点亮一个LED”的操作步骤无法进行。
步骤1:把PC并口和开发板JTAG接口连起来,确保插上NAND_BOOT跳线、上电。
本人使用的是usb的JTAG,没有并口。NAND_BOOT跳线(见micro2440手册11页1.1.1 Micro2440核心板简介 )在核心板上,使用短接帽短接就可以接上NAND Flash(我没有短接),不过我们也不需要短接它。
步骤2:进入led_on目录后,执行如下命令生成可执行文件led_on.bin:$make
在VMware+ubuntu7.10中按步骤2进行操作就可以了。
步骤3:执行如下命令将led_on.bin写入NAND Flash。
书上给在步骤3给出了一些在windows下的操作软件,及操作步骤。我换了有并口的台式电脑使用micro2440自带的H-jtag,没有效果,可能是操作原因。
解决1:使用JLink的JTAG功能下载led_on.bin到NAND Flash(不要下载到NOR Flash)。
根据我的硬件和软件条件,按照书上的操作不能实现烧写led_on.bin到NAND Flash。
首先想到的是:JLink的JTAG功能把程序下载到NAND Flash。把JLink自带光盘里面的
“使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法.pdf”
安装所需软件:JLink自带光盘有readme,按readme的步骤安装好软件。
1.将led_on.bin拷贝到e:\
2.将JLink和开发板的JTAG接口接好,连接JLink的USB到电脑,将开发板的S2开关选择NAND,给开发板上电。
3.打开"开始"→SEGGER→J-Link ARM V4.02→J-Link Commander。如下图
4.loadbin e:\led_on.bin 0
5.setpc 0
6.g
观察核心板上的绿色LED其中的LED1被点亮了,你可以将JLink自带光盘里面的leds.bin下载到开发板上,观察led将按2进制数从0001显示到1111。
不过按下开发板上的复位键,LED又回复成原来的样了。(现在还没有明白其中的原因,可能是JLink的命令的缘故)。
“使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法.pdf”还有其它的一些操作介绍,不过千万别使用下载到NOR Flash,不然开发板上就没有supervivi了。
解决2:使用开发板自带的supervivi直接用USB下载led_on.bin到NAND Flash
1.不需要接JTAG(如果按前面操作已经接上了JTAG),将JLink的串口接开发板串口,JLink的usb接电脑。将开发板的USB连接电脑的另一个USB。
2.将S2选择NOR。
3.启动超级终端(超级终端的设置见micro2440手册)。
4.给开发板上电。
5.在超级终端输入 a
6.打开micro2440光盘里面的DNW下载e:\led_on.bin(相关操作见micro2440手册)。
7.将开发板上的S2选择NAND,复位开发板,可以观察到核心板上led1被点亮。
见过上面的操作,我们的开发板上原有的linux系统就没有了,想要恢复参考micro2440手册相关操作。
转自:http://wangwei2616.blog.163.com/blog/static/54740242009101985829249/