Linux移植Hello World到开发板
1.项目准备
1.Linux版本:Ubuntu18.0.4
2.交叉编译工具:arm-linux-gcc-4.4.3.tar.gz
3.wind10系统
4.开发板
2.常用软件服务的安装配置
1.安装ssh服务
该服务主要提供远程登陆到 Ubuntu 系统功能
在终端下执行以下命令:
sudo apt-get install openssh-server openssh-client
安装好后 sshd 服务就启动了,可以通过命令行查看服务进程:
ps -ef | grep sshd
root 492 1 0 19:07 ? 00:00:00 /usr/sbin/sshd -D
uptech 752 1721 0 19:12 pts/1 00:00:00 grep --color=auto sshd
2.建立 TFTP 服务
该服务主要用来将 Ubuntu 系统中交叉编译好的程序下载到 UP-MOBNET-A9-II 型开发板上(相当于WindowsXP上的 TFTP32.EXE 软件)。
1.下载并安装 TFTP 服务
如果 Ubuntu18.0.4 系统没有安装 TFTP 服务,需要下载安装该服务。该方>式需要 Ubuntu 系统下的网络 支持(即 Ubuntu 可以连接互联网)。
执行以下命令:
sudo apt-get install tftpd tftp openbsd-inetd
编辑配置文件/etc/inetd.conf:
sudo gedit /etc/inetd.conf
将文件的内容改为:
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
保存退出
2.启动(或重启)TFTP 服务
执行以下命令:
sudo /etc/init.d/openbsd-inetd restart
3.创建 tftp 服务的共享目录
执行以下命令:
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot
3.添加 SAMBA 服务
该服务主要用于 Ubuntu 与 WindowsXP 之间实现通讯。
1.安装 samba 服务软件
执行以下命令:
sudo apt-get install samba
2.修改 samba 服务的配置
执行以下命令:
sudo gedit /etc/samba/smb.conf
在文件的最后,添加共享目录
[share]
path = /home/share --共享目录
read only = no
locking = no
guest ok = yes
browseable = yes
create mask = 0777
3.建立 samba 共享目录,并增加可读写权限
执行以下命令:
sudo mkdir /home/share
sudo chmod 777 /home/share
4.建立samba服务账户和密码
执行以下命令:
sudo smbpasswd -a share(用户名)
sudo smbpasswd -a root
New SMB password:
Retype new SMB password:
5.配置ip使虚拟机ip和本机ip是否可以相互ping通
执行以下命令:
sudo ifconfig eth0 192.168.2.35 netmask 255.255.255.0
6.重新启动 smb 服务
sudo /etc/init.d/smbd restart
7.安装 samba 后,服务就自启动了,此时,在 windows 下进入,开始–>运行输入 \\192.168.2.35
3.安装交叉编译工具
1.在虚拟机机的/usr/local/目录下建立 arm 目录存放交叉编译器
sudo mkdir /usr/local/arm
2.解压交叉编译器到/usr/local目录
sudo tar -zxvf arm-linux-gcc-4.4.3.tar.gz /usr/local
3.解压完成后会有一个opt目录进入目录opt再进入FriendlyARM目录在进
入toolschain 目录,将里边的4.4.3目录拷贝到 /usr/local/arm中
执行以下命令
cp -r 4.4.3 /usr/local/arm
4.打开(/etc/profile)配置环境变量和库变量,目的是以后可以在任何位置使用该交叉编译器
执行以下命令:
sudo vim /etc/profile
用vim打开后,在文件最后添加两行
export PATH=$PATH:/usr/local/arm/4.4.3/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/4.4.3/lib
保存退出
5.使用source命令重新加载生效该配置文件
source /etc/profile
- 安装兼容arm32位的依赖包
sudo apt-get install lib32z1
sudo apt-get install lib32stdc++6
7.查看交叉编译器版本
sudo arm-linux-gcc -v
4.将虚拟机与开发板互通
配置IP使其互相可以ping通
5.利用tftp传输hello可执行文件
1.将编译好的hello拷贝到tftp共享目录/tftpboot目录下,开启tftp
tftp 192.168.2.33(开发板xShell ip)
2.在xShell中建立tfpt
tftp -g -r hello(文件名称) 192.168.2.35(虚拟机ip)
3.在xShell中执行hello可执行文件