一.何为开发:
编写并编译程序,并且调试运行成功的过程,被称为开发!!
二.交叉开发的定义:
两个主体才能交叉。
指在配置好交叉编译环境的宿主机上,编写并编译目标平台可运行的程序,并将编译生成的程序文件,下载到目标平台中调试运行的过程。
比如:51单片机开发
宿主机: Windows
开发环境:keil_C51 (编辑、编译) STC-ISP(下载、烧录/写)
目标平台:51单片机
程序文件:hex
开发过程:在windows下用keil编写并编译程序生成hex文件,用STC-ISP软件将hex文件烧录到51单片机芯片中。
三.目标机和宿主机:
(1)何为目标机:
不具备开发环境的嵌入式产品,只提供运行环境的产品。
例如搭载了linux系统的ARM板(GEC6818)。
(2)何为宿主机:
指搭配了交叉开发环境的系统就被称为宿主机。
四.宿主机的配置(Linux系统中):
下面以搭载了linux系统的ARM板(GEC6818) 为目标机。
(1)资源:
需要的资源:
Ubuntu系统;
交叉编译工具链包:arm-linux-gnueabi-5.4.0.tar.xz(可以自己下载各种版本);
lns.sh (脚本文件,用来将工具链中的工具命令创建一个简单的软链接)。
(2)步骤:
下述步骤皆是以5.4.0版本为例,如果更换版本,请自行更改相关的工具链的文件名和路径。
1.将交叉编译工具链包 拷贝到Ubuntu系统的 家目录:
可以直接从windows系统中直接复制过去。
2.解压交叉编译工链包到指定目录(你可以自己定):
3.切换到解压出来的交叉编译工具链的 bin目录:
4.将lns.sh文件拷贝到该目录:
5.运行lns.sh文件创建软链接:
注意:如果已经生成了软链接了,可忽略这一步。
创建后的链接工具如下:
6.配置交叉编译工具链bin目录到 PATH环境变量(这样才能在用命令时,不用指定路径了!):
临时有效(重启后会失效):
上述步骤之后,可查看是否已生效:
想永久有效:
将 “export PATH=/usr/local/arm/5.4.0/usr/bin/:$PATH”命令写入到 /etc/profile 文件的最末尾。
7.保存并退出Ubuntu生效。
(3)安装及配置tftp服务(以Ubuntu为例):
1.基本知识:
tftp是一个简易网络文件传输协议,分为服务器 和 客户端两个程序。
GEC6818开发板中,自带tftp客户端程序。
在宿主机(Windows、Ubuntu)上配置tftp服务。
Windows:自己到网上下载一个 tftp服务器 就可以了。
Ubuntu:安装相应的服务程序。
2.步骤:
首先查看Ubuntu是否已经联网:
安装tftp服务 tftpd-hpa :
配置tftpd-hpa 服务:
tftpd-hpa 服务的几个控制命令:
sudo service tftpd-hpa restart 重启 tftpd-hpa 服务
sudo service tftpd-hpa start 启动 tftpd-hpa 服务
sudo service tftpd-hpa stop 停止 tftpd-hpa 服务
配置完成。
五.目标机的配置:
(1)安装相应的usb--com驱动:
根据自身所用的开发板安装相应的驱动。
(2)连接开发板(以GEC6818为例):
驱动设置好后:
接下来是打开一个名为SecureCRT.exe的软件:
SecureCRT是个超级终端,支持Serial(串行)、ssh2、telnet、……协议,运行软件后如下图:
新建链接(如图):
其中串行通信的链接如下:
链接好后:
做到这一步,已经可以实行串行传输了。
(3)SecureCRT的telnet协议链接开发板:
Ubuntu通过telnet链接开发板:
注意:对于主机名,各位看自身情况而定。
如果出现没有没有路由器时,可以用网线把主机 和 开发板直接链接,组成一个局域网。
步骤如下:
windows系统中:
Ubuntu系统:
在命令行执行:sudo ifconfig ens33 相应的IP地址