您的位置:首页 > 运维架构 > Linux

Linux下arm开发环境搭建

2015-03-04 13:05 295 查看
搭建过程中会出现一系列问题,这里只列出部分问题,其余可自行解决:

1. 安装串口工具 minicom

1.1 sudo apt-get install minicom

1.1 配置

2. 安装tftp服务器 tftpd xinetd

2.1 sudo apt-get install tftp tftpd xinetd

2.2 sudo vim /etc/xinetd/tftp

+

service tftp

{

socket_type = dgram

port = 69

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.3 sudo mkdir /tftpboot

2.4 sudo chmod 777 /tftpboot

2.5 重启服务器

sudo /etc/init.d/xinetd restart

2.6 测试tftp服务器是否正常工作

在服务器目录建个文件

a. cd /tftpboot

b. touch abcd

c. echo 1234554321 > abcd

d. cd

在家目录测试下载

e. tftp 127.0.0.1

get abcd

f. 如果下载成功,在当前文件夹下有个abcd文件

文件内容为: 1234554321

tftp服务器问题汇总:

1. 配置文件出错

2. timeout

有两个配置文件 /etc/xinetd.d/tftp /etc/xinetd.d/tftpd

3. access violation

> sudo less /var/log/syslog

解决:

sudo vim /etc/inetd.conf

#tftp ... ...


安装arm编译器

1. sudo mkdir /usr/local/arm

2. sudo tar xzvf arm-linux-gcc-4.4.3.tar.gz -C /usr/local/arm/

3. sudo vim /etc/profile

+

PATH=/usr/local/arm/4.4.3/bin:$PATH

4. 更新环境变量

source /etc/profile

==========================================================

gcc intel芯片编译器

objdump -d x86程序反汇编

arm-linux-gcc arm芯片编译器

注意: arm-linux-gcc 的用法和gcc一模一样

arm-linux-objdump -d arm程序反汇编

file 查看文件的类型

=========================================================

安装uboot

1. tar xvf bootloader.tar

2. cd bootloader

3. cd u-boot

4.sudo make distclean 清理软件包

5.make mini2440_config 把uboot配置成mini2440板子运行的

6.make



1.安装串口工具:

sudo apt-get install minicom

2. 设置串口工具

sudo minicom -s

/dev/ttyUSB0

3. 使用minicom

sudo minicom

4. 退出minicom

ctrl + a q

问题汇总:

1. 找不到/dev/ttyUSB0

ls /dev/ttyUSB0

2. 乱码

波特率设置错误

串口线有问题



搭建完成后就可以用你的开发板试一下了:

C语言编译步骤:

1. 预处理

arm-linux-gcc -E hello.c -o hello.i

2. 编译(把.c转换成.S)

arm-linux-gcc -S hello.i -o hello.S

3. 汇编(把汇编程序 编译成 二进制程序)

arm-linux-gcc -c hello.S -o hello.o

4. 链接(把不同的.o文件按照指定的链接地址链接在一起)

a.当有操作系统的时候,操作系统自动指定

b.当没有操作系统的时候,必须人为的指定链接地址

arm-linux-ld -Ttext=0x30000000 hello.o -o hello

5. 去掉头部信息

arm-linux-objcopy -O binary hello hello.bin

======================================================

C语言内存布局

1. stack

2. heap

3. data

4. text

=====================================================

uboot操作:

1.设置服务器的ip地址: 192.168.0.1

2.在uboot中:

2.1 下载 tftp 0x30000000 hello.bin

2.2 执行程序 go 0x30000000

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: