在看尚觀發布的嵌入式bootloader開發視頻,聽起來感覺還行,都基本會,但手裡面只有友善之臂TIny6410開發板,還好這個開發板上已經有移植好的u-boot,而且SOC和視頻上所說的差不多,一個是2410,一個是6410.只是後者是基於ARM11,而前者是比較老的ARM9.
首先搭建開發環境,CentOS6.4x64版本,系統相對比較新
minicom安裝:yum -y install minicom
minicom設置:minicom -s 去掉硬件控制位,並設置波特率和數據傳輸模式,並且注意要設置設備如: /dev/ttyS0(默認情況下是這個)
並保存成默認設置
現在在命令行下輸入minicom,進入uboot.此時就可以看到Friendly ARM移植成功後的uboot了。
此時,我們的PC機器和ARM開發板間數據傳輸還是不太方便,為此我們可以使用tftp協議,在PC機端構建tftp服務器,並通過網口來進行數據傳輸.
具體步驟如下:
安裝tftp服務器:
yum -y instal tftp-server
yum -y install tftp
yum -y install xinetd
編輯/etc/xinetd.d/tftp文件如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
啟動tftpd服務,具體命令如下:sevice xinetd restart:如果出現
stop和start說明啟動成功。
然後在根目錄下新建上一步中所指示的共享目錄/tftpboot,然後我們在該目錄下新建一個名為abc的文件,vi abc內容如下:
0123,並保存。
然後在終端那裡我們下載該文件,具體命令如下:
tftp 50000000 abc@傳輸abc文件到內存50000000處
注意:此過程可能會失敗,一般情況下是因為防火牆的原因,解決方法是關閉SELinux和防火牆,輸入命令:
> setenforce 0@關閉SELinux
>iptables -F @清除防火牆
完成後,使用命令md進行顯示,具體如圖1所示:
可以看出我們已經成功的將文件傳送到內存5000_0000處了,這裡需要注意的一點是tftp服務器一定要搭建成功哦!配置時需要小心在意!
下一步安裝arm-linux-gcc軟件,安裝方法:
解壓縮arm-linux-gcc軟件,並切換到bin下運行arm-linux-gcc -v,查看prefix並將該文件夾移動到該目標文件下,然後export環境變量.