交叉开发(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地址

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
嵌入式Linux系统开发是在嵌入式设备上构建和运行Linux操作系统的过程。这种开发涉及到硬件和软件的交互,以实现特定的功能和需求。下面是一些嵌入式Linux系统开发的关键步骤和技术: 1. 硬件选择:选择适合项目需求的硬件平台,包括处理器、存储器、传感器等。 2. Linux内核裁剪:根据设备的资源限制和功能需求,对Linux内核进行裁剪,去除不必要的功能,以减小系统的占用空间和提高性能。 3. 设备驱动程序开发:根据硬件平台的特性,编写设备驱动程序,使Linux内核能够正确地与硬件交互。 4. 引导加载程序(Bootloader):选择或开发适合硬件平台的引导加载程序来启动Linux内核。 5. 文件系统:选择或构建适合项目需求的文件系统,包括根文件系统(Root File System)和应用程序文件系统。 6. 应用程序开发:基于Linux操作系统开发嵌入式应用程序来实现设备的功能和特性。 7. 调试和测试:在实际硬件上进行调试和测试,确保系统各个组件的正常运行,并修复可能出现的问题。 8. 部署和维护:将开发完成的系统部署到目标设备上,并进行系统的维护和更新。 在嵌入式Linux系统开发,还需要掌握一些相关的技术和工具,如交叉编译、调试工具(如GDB)、版本控制系统(如Git)等。此外,了解Linux内核的原理和机制,有助于更好地理解和解决开发过程的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序番茄君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值