嵌入式Linux开发环境搭建

2019-07-12 17:45发布

交叉编译器:编译后程序需要在别的平台下运行
arm-linux-gcc  4.3.2    4.4.3  
www.arm9.net 友善之臂官网
arm-linux-gcc 4.3.2版本
1、解压
2、sudo 以管理员身份运行程序
将解压包中的usr/local/arm拷贝到/usr/local/arm下
sudo cp -r  源  目标
例如:
sudo cp -r /home/tw123/usr/local/arm /usr/local/
3、方法一:临时性的
修改PATH
PATH=$PATH:/usr/local/arm/4.3.2/bin
可以使用arm-linux-gcc -v查看信息


方法二:适用多个终端 适用于32位
修改/etc/profile文件
sudo gedit /etc/profile


在末尾处添加
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
export PATH=$PATH:/usr/local/arm/4.3.2/bin
完成后,一种方法是重启,第二种方法:source /etc/profile(常用于普通用户切换到root用户时使用 )
64位下安装了
12.04下面:sudo apt-get install ia32-libs
14.04下面:sudo apt-get install libglib2.0-0:i386
用途:
arm-linux-gcc hello.c -o hello






tftp服务器:
把PC作为服务器,2440作为客户端
安装时需要上网
命令方式:查看网卡的ip
ifconfig


上网方式建议NAT


安装过程:
sudo apt-get install tftpd-hpa tftp-hpa xinetd


安装完成后
1、sudo gedit /etc/default/tftpd-hpa
修改如下
RUN_DAEMON="yes"
TFTP_USERNAME="tw123"
TFTP_DIRECTORY="/home/tw123/tftpboot"
#目录自定义
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
解释:
TFTP_DIRECTORY:表明以后2440下载的文件都要存放到该目录下
建议将该文件夹及子文件夹的权限设置为可读可写
TFTP_ADDRESS:0.0.0.0表明随系统设置的ip 
69表明tftp协议的端口号
TFTP_OPTIONS="-l -c -s":可以下载和上传


先做测试
重启服务:
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart
建议重启后做测试
测试过程:
1、在/home/tw123/tftpboot下创建一个文件(aa.txt)
2、然后切换到其他文件夹中执行tftp localhost命令
3、get aa.txt 完成可以检查
可能出现超时的问题




3、sudo gedit /etc/xinetd.d/tftp   (随情况而定)
service tftp
{
  socket_type=dgram
  protocol=udp
  wait=yes
  user=tw123
  server=/usr/sbin/in.tftpd
  server_args=-s -l -c /home/tw123/tftpboot
  disable=no
  per_source=11
  cps=100 2
  flags=IPV4
}
解释:
server_args必须和TFTP_DIRECTORY一致


nfs服务器(同步)
文件放到PC,2440作为客户端
1、sudo apt-get install nfs-kernel-server
2、sudo gedit /etc/exports
添加如下
/home/tw123/tftpboot/nfs *(rw,sync,no_subtree_check)
可以添加多个
解释:
/home/tw123/tftpboot/nfs:指定了网络文件系统的路径
*表明指定hostname,*表示任意
rw表明/home/tw123/tftpboot/nfs可读可写
sync表明同步
no_subtree_check不检查父目录权限
3、设置访问权限
sudo gedit /etc/hosts.deny 设定的禁止
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL


sudo gedit /etc/hosts.allow 设定哪些ip允许
portmap:192.168.10.
lockd:192.168.10.
mountd:192.168.10.
rquotad:192.168.10.
statd:192.168.10.
注意:
最后的.一定要


4、重启服务
sudo /etc/init.d/portmap reload
sudo /etc/init.d/nfs-kernel-server restart


测试过程:
挂载命令:  mount
sudo mount -t nfs localhost:/home/tw123/tftpboot/nfs /mnt
解释:
-t nfs 表明文件系统类型为nfs 网络文件系统
localhost:/home/tw123/tftpboot/nfs 是源(必须和配置中一致)
mnt 是挂载点(可以随意指定)
卸载命令:  umount
sudo umount /mnt
解释:
mnt 挂载点
本地测试




ckermit软件 minicom
相当于超级终端
1、安装
sudo apt-get install ckermit
2、配置文件
在主文件夹目录下创建.kermrc文件,.是隐藏文件
set line /dev/ttyUSB1
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
c
解释:
set line /dev/ttyS1  中的ttyS1表示串口0,补充说明用usb转串口 名字是ttyUSB0或者ttyUSB1 确定是


否是哪个名字,可以使用ls /dev查看


启动软件的方式:kermit