Linux中ARM平台的交叉编译

4 篇文章 1 订阅
4 篇文章 0 订阅

一、什么是交叉编译

简单来说,就是在一个平台上生成另一个平台的可执行代码

二、交叉编译的作用

  • 若在嵌入式产品中安装一些开发工具进行产品开发的话,会造成资源的浪费
  • 一般的嵌入式设备的处理速度,没有个人计算机快,所以直接在嵌入式产品中进行开发,开发速度会很慢

注意:开发时候对应平台的编译器从何来? ----> 跟对应芯片的厂商索取,芯片厂商在生产芯片的时候,会对应配套一系列开发工具

三、Linux中ARM平台的交叉编译链

以下为简要描述,详情请见:ubuntu下安装交叉编译工具链

下载地址:

arm-linux-gnueabihf-gcc下载

arm-none-linux-gnueabi-gcc下载

arm-linux-gnueabihf-gcc是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。

arm-none-linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。

主要步骤:(虚拟机情况下)

  • 将下载好的工具放到共享文件夹中
  • 在虚拟中将工具解压
  • 配制PATH环境变量---->可以直接使用工具,而不需要添加工具所在路径

四、NFS服务器的安装

nfs服务器的作用:可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;

可以将交叉编译后的可执行文件直接在另一平台调试、运行

  • 安装步骤:
  • 1、NFS 的下载
  • sudo apt-get  install  nfs-kernel-server
  • 2、配制NFS服务器的挂载文件
  • sudo  gedit /etc/exports
  • 在文件末尾添加: /opt/target  *(rw,sync,no_subtree_check)
  • 注意需要挂载的服务器文件路径名,该路径用户必须拥有操作权限,一般为自己家目录,即/opt/target 为自己家目录
  • 3、重启NFS服务器
  • sudo  service  nfs-kernel-server restart 
  • 4、挂载 NFS文件
  • sudo mount  -o nolock  192.xxx.x.x:/home/gec   /tmp                 //ip路径://home/用户名
  • 5、卸载
  • sudo umount 需要卸载的目录
  • 0
    点赞
  • 8
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论

打赏作者

不吃鱼的猫丿

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值