前一天也搭建了一次ARM的裸机环境,是通过UBoot将arm-linux-gcc生成的.bin文件下载到内存(0x50000000)中去的,但是学了UART之后发现这样做还是有很大缺陷的,所以这篇文章就作为一个补充吧,献给像我一样的初学者~~(当然要是有更简洁的方法更好,主要是本人电脑不能安装RVDS,而且SuperBoot也不能下载.bin文件,总是出错,没办法只能用这个了,所以~~)
我这个方法确实有点麻烦,这里直接就可以SD卡启动就可以了,然后选择f(格式化NandFlash),再然后选择v(烧写UBoot,但是这里并不是烧写UBoot.bin,而是烧写uart.bin,是一样的,刚刚试过了,可以用~~)
不过后边的也可以看看~~
首先要明确几点:
1、Tiny6410的板子上电之后NandFlash中开始8K内容是原原本本的复制到6410板子开始的8K处的!
2、Tiny6410运行是从0x00000000地址开始的!
3、将你要下载的程序也就是.bin文件下载到NandFlash从0x0开始的内容
4、上电后,6410复制NandFlash的低8K内容到6410的起始地址,然后执行!
好了,明白了上面的就好说了,现在要做的就是将arm-linux-gcc生成的.bin文件下载到NandFlash中去~~
其次是要说一下要准备的:
1、会用Uboot命令
可以看这篇文章: http://blog.sina.com.cn/s/blog_7ec8fc2c01014drq.html
2、安装了arm-linux-gcc
3、那就是tftp服务也就绪了、
4、就是程序了
可以看这篇文章: http://blog.sina.com.cn/s/blog_7ec8fc2c01014i64.html
现在写一下步骤:
,可以试试哦~~
1、SD卡启动,格式化NandFlash
4、查看ipaddr(虚拟机中Linux下的ip)和serverip(Tiny6410板子的ip)这两个环境变量
8、通过tftp下载uart.bin文件到内存的0x50000000
10、将内存0x50000000处的内容复制到NandFlash处的0x0处,大小为8K