歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 關於ARM和Linux的操作

關於ARM和Linux的操作

日期:2017/3/3 11:29:46   编辑:Linux技術

(一)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

Copyright © Linux教程網 All Rights Reserved