将MYS_SAM9X5改为dataflash启动

来源:互联网 发布:中国网络十大神神兽 编辑:程序博客网 时间:2024/05/17 04:10
因之前不慎使用nand scrub命令导致nandflash无法使用,于是便考虑将MYS_SAM9X5开发板改为dataflash启动。

在更改之前首先要理清bootstrap与u-boot的关系:

at91架构的u-boot不像其他的u-boot,系统一上电之后就由u-boot来接管目标板,而是先由bootstrap来接管板子,然后再来加载u-boot,据手册所知,bootstrap做了一部分的u-boot需要完成的任务,它初始化一些必要的硬件 (GPIO,Clock, SDRAM, etc), 然后将 u-boot 拷贝到 SDRAM 中开始运行。

所以第一步是要编译出能从dataflash搬移uboot的bootstarp。

首先进入AT91Bootstrap-5series_1.2目录,如果没有该工具可下载。
然后进入目标板所在的目录:

cd board/at91sam9x5ek    

vim at91sam9x5df_defconfig
这个文件是配置dataflash bootstrap的配置文件,编译之前要做一些修改

找到73行:
#CONFIG_DATAFLASH is not set
改为
CONFIG_DATAFLASH=y

这句的意思是使能dataflash


111行:
CONFIG_IMG_ADDRESS="0x00008400"

这一行是说将在dataflash的0x8400这个地方找到uboot,并将它搬移到DDR中,也可以修改该值,但必须保持在dataflash的大小范围之内。

修改完毕之后,即可进行编译

Make   \       
Distclean\ CROSS_COMPILE=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-


指定配置文件:
make at91sam9x5df_defconfig

make\
CROSS_COMPILE=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-

完成之后,在binaries中的at91sam9x5ek-dataflashcardboot-3.1.bin就是需要的。

然后启动SAM-BA工具,将at91sam9x5ek-dataflashcardboot-3.1.bin烧录到0x0,uboot.bin烧录到0x8400。

烧写完毕之后,启动开发板。。。启动之前必须先连接jp3,jp4,这是使能nandflash和dataflash,虽然nandflash不再使用,但是uboot启动会检查设备是否存在,如果断开该跳线,uboot则会跳出,导致板卡无法启动。

0 0
原创粉丝点击