(一)arm開發環境搭建
1搭建交叉編譯開發工具 arm-linux-
cd ~/arm_linux/mini2440/src/
sudo mkdir /usr/local/arm
sudo tar -zxvf arm-linux-gcc-4.4.3.tar.gz -C /usr/local/arm/
配置環境變量 sudo vim /etc/profile
添加以下內容:
PATH=/usr/local/arm/4.4.3/bin: $PATH
保存退出
source /etc/profile
echo $PATH
arm-linux-gcc -v
注意:如果使用的是64位系統,則需要完成以下三個步驟
1 ubuntu 14.04 64位系統無法運行32位可執行文件,則需要安裝一個32位兼容庫lib32z1。ubuntu 12.04 64位系統安裝ia32-libs
2sudo apt-get install libstdc++6
3 sudo apt-get install lib32stdc++6
(二)tftp服務器搭建
sudo netstat -a |grep tftp //檢測有沒有安裝過
udp 0 0,*;tftp
如果出現以上信息表示已經搭建過了
沒有則從新搭建
1安裝tftp服務端,客戶端,守護進程xinetd
sudo apt-get install tftpd tftp xinetd
sudo touch /etc/xinetd.d/tftp
sudo vim /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
}
2.創建tftp服務器主目錄
sudo mkdir /tftpboot
sudo chmod -R 777 /tftpboot
3.重新啟動tftp服務
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart
4.查看tftp工作狀態
sudo netstat -a |grep tftp
udp 0 0,*;tftp
5.查看別人的電腦
sudo apt-get ssh
找到別人的賬戶和密碼,然後用 ssh 用戶名@對方IP地址
用exit登出
(三)
1.minicom工具使用
安裝minicom 工具 sudo apt-get install minicom
設置minicom sudo minicom -s
檢測ttyUSB0 用ls /dev/ttyUSB0
會出現/dev/ttyUSB0黃色的
配置minicom使用ttyUSB0設備
1.
cd ~/arm_linux/mini2440/src
tar -xvf bootloader.tar
cd bootloader/u-boot
2.板子分為vivi boot 和 super boot 兩種。
要生成一個u-boot.bin,然後燒錄到板子裡。
如何生成一個u-boot.bin?
1)清除編譯目標,可執行文件和配置文件
make distclean
2)配置成mini2440可用
make mini2440_config
3)編譯
make //默認為雙核的
make j4 //四核的,編譯的更快
生成u-boot.in
4)燒錄到板子
NOR Flash
進入到miniTools目錄下,運行start.sh ./start.sh
保證左下角的燈是綠色的,然後選擇Linux,把u-boot.bin加載進去
搭建nfs網絡文件服務器
安裝nfs服務器 sudo apt-get install nfs-kernel-server;
配置nfs服務器 sudo vim /etc/exports
在最後一行添加以下內容(#要注釋掉)
/nfsroot *(rw,sync,no_root_squash)
保存退出
sudo mkdir /nfsroot
sudo chmod -R 777 /nfsroot
sudo /etc/init.d/nfs-kernel-server restart
sudo showmount -e
顯示如下:/nfsroot *
u-boot編程
1.u-boot輸入輸出。u-boot環境下,都是物理地址。
通過查看u-boot編譯產生的System.map得到如下函數的物理地址:
printf 0x33f963a8
getc 0x33f965f0
void main()
{
// int printf(const char *format, …);
int (my_printf)(const char format,…);
my_printf = (void *)0x33f963a8;
my_printf(“hello world\n”);
}
2.u-boot下編譯程序
新建
touch test.c
vim test.c
編譯:arm-linux-gcc -c test.c -o test.o
鏈接:arm-linux-ld -Ttext=0x30000000 test.o -o test
可執行文件需要操作系統來調用,但是這裡沒有操作系統,所以繼續編譯。
生成二進制文件:arm-linux-objcopy -O binary test test.bin
反匯編(可執行文件->匯編文件):arm-linux-objdump -D test >test.s
把板子和電腦連起來,串口—USB,網線也要連上
1)點擊無線網圖標——編輯連接——新建——以太網——手動——添加——192.168.0.1
子網掩碼255.255.255.0,網關192.168.0.1,連接名稱tftp,ipv4設置;
編程完了之後
1.make clear
2.make
3.make install
2)在命令行輸入sudo minicom
2)按板子的復位鍵,同時按回車,顯示如下:
Enter your Selection:q
3)在命令行輸入ping 192.168.0.1,連上tftp這個網
4)下載程序: tftp 0x30000000 test.bin