前一天也搭建了一次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
現在寫一下步驟:
貌似步驟2可以下載我的uart.bin文件(就是不去燒寫UBoot,去燒寫uart.bin文件~~),然後直接燒寫入我的NandFlash,這樣就省去了UBoot命令了,直接上電就哦了~~呵呵,突然想到的,這樣做的話我就節省了很多時間,,可以試試哦~~
1、SD卡啓動,格式化NandFlash
4、查看ipaddr(虛擬機中Linux下的ip)和serverip(Tiny6410板子的ip)這兩個環境變量
8、通過tftp下載uart.bin文件到內存的0x50000000
10、將內存0x50000000處的內容複製到NandFlash處的0x0處,大小爲8K