开发板:EB-SAM9G45
这里提供一种裸程序下载的方法。
在官方提供的下载方法中有手动下载和自动下载,它们都离不开SAM-BA软件,而该软件使用比较麻烦,而且操作不当很容易导致电脑蓝屏,还有一个很大的缺点是,每次他都将裸机程序烧写到NANDFLASH当中,容易导致NANDFLASH出现坏块。
一种新的方法:
l 安装SAM-BA软件
l 断开JP2跳线,复位开发板。
l 点击“开始”->“所有程序”->ATMEL Corporation -> AT91-ISP v1.13 -> SAM-BA v2.9打开SAM-BA软件,弹出下图所示对话框(在这之前需要安装SAM-BA以及插上USB
线):
然后点击Connect,显示下图所示的界面:
l 连接跳线JP2
用SAM-BA下载程序的步骤如下:
① 使能NandFlash
点击上图所示的NandFlash选项卡,显示如下图所示:
在Scripts列表框中选择Enable NandFlash,然后点击Exectue使能NandFlash。
② 烧写 nandflash_at91sam9g45ekes.bin
注意:这个时候下载到NandFlash中的nandflash_at91sam9g45ekes.bin文件是为了引导应用程序,把0x20000地址处的258KB的内容从NandFlash中复制到DDRAM中运行。(这是因为系统在运行时自动把NandFlash最前面几KB的数据复制到DDRAM中运行)
在Scripts列表中选择Send Boot File,如下图所示:
然后点击Execute按钮,出现下图所示对话框:
从中选择SAM-BA目录下的nandflash_at91sam9g45ekes.bin文件即可。
③ 烧写 u-boot.bin
至此,大部分工作已经做完,此外,还需要配置uboot的环境变量,并且uboot的可以ping通主机,并且uboot通过tftp命令可以从主机上下载镜像。
在主机上开启tftp服务,虚拟机里的tftp服务的安装和开启方法这里不做介绍,只介绍windows下面的tftp服务器设置,这里用到的软件叫做Cisco TFTP Server。设置好tftp服务器的根目录,如F:TFTP-Root,将裸机程序(如buzzer.bin)放到F:TFTP-Root下,打开putty,启动开发板,进入uboot环境,因为这个开发板的SDRAM的物理地址起始地址是0x70000000,所以执行:
tftp 0x70000000 buzzer.bin
go 0x70000000
然后裸机程序就跑起来了,并且省去了对NANDFLASH的写操作,以后就不再需要SAM-BA软件了。
我的问题:为什么必须是0x70000000?
go 命令是如何实现的?
buzzer.bin的内容格式是什么?