交叉开发(Linux系统中)

一.何为开发:

编写并编译程序,并且调试运行成功的过程,被称为开发!!

二.交叉开发的定义:

两个主体才能交叉。

指在配置好交叉编译环境的宿主机上,编写并编译目标平台可运行的程序,并将编译生成的程序文件,下载到目标平台中调试运行的过程。

比如: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地址


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部