关于ARM和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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值