24 编写应用程序(OpenWrt 交叉编译) openwrt入门经典教程(openwrt 交叉编译工具)

编写应用程序(OpenWrt 交叉编译)

本实验目标

掌握 OpenWrt 交叉编译应用程序的方法

在本实验中,我们借助 OpenWrt 提供的编译链进行应用程序的编写,编写一个最简单 的应用程序: hell world!

首先说一下什么是交叉编译:我们在 ubuntu 中写了一个程序,比如 main.c ,然后使 用 ubuntu 的编译器进行编译,生成的可执行文件自然可以在 ubuntu 中运行。但是生成的 可执行文件可以在我们的开发板中能运行吗?答案当然是否定的,原因很简单,就是平台不 同, 芯片架构不同。那我们如何使得 ubuntu 编译出来的可执行文件在开发板上面运行呢, 当然就要借助一些工具了,通过一些工具进行对程序编译,生成在开发板上可以运行的文件, 那这些工具我们把它叫做交叉编译工具,把这种从一个平台开发另一个平台应用的方式称为 交叉编译。

Toolchain 即交叉编译工具,要在 ubuntu 编译我们写的应用程序使得生成开发板可以 执行的文件 ,必须有这一套工具才可以进行!

首先,我们查看是否已经有交叉编译工具:

4

显然没有 Toolchain !

好的,配置 OpenWrt 使得支持toolchain

在 openwrt/trunk/目录下运行 make menuconfig ,并且选中 toolchain :

4

保存之后,编译 OpenWrt : make V=99

编译完成之后,我们可以查看是否有交叉编译工具包的存在:

4

OK,解压交叉编译工具包:

4

解压完成后:

4

然后我们 cd 到解压完成后的工具包中,再进入该工具包中的另一个目录,找到bin 文 件夹,同样 cd 进去 bin 文件夹:

4

好的,现在我们就拥有交叉编译工具了,我们要把交叉编译工具的路径保存在一个环境 变量中,这样做是为了,我们编译程序时会根据这个环境变量找到交叉编译工具的位置。 以 root 的权限编辑如下文件:

4

编辑前该文件的内容如下(我的 ubuntu) :

4

好的,增加我们交叉编译工具路径后(注意以冒号分隔):

44

为了让这个环境变量起作用,我们重启 ubuntu ! 重启完成后,我们编写一个非常简单的应用程序:

然后使用交叉编译工具进行编译!

4

编译完成后生成可执行文件:

4

然后我们尝试在 ubuntu 中运行可执行文件 main:

4

很显然,这个可执行文件无法在 ubuntu 上运行,但是,却可以在我们开发板中运行,我们 把可执行文件移动到开发板中进行执行:

4

运行成功!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月19日 下午7:39
下一篇 2024年5月19日 下午7:51

相关推荐

  • 项目管理是啥

    项目管理是什么? 项目管理是指通过规划、组织、执行和控制一系列活动,来实现特定目标的过程。它是一个重要的商业和工程领域,广泛应用于建筑、信息技术、医疗保健、金融、制造业等行业。 项…

    科研百科 2024年7月16日
    41
  • 手机项目管理

    手机项目管理 随着智能手机的普及,手机项目管理已经成为了现代软件开发和团队管理中不可或缺的一部分。手机项目管理不仅可以帮助团队更好地协调项目进度,还可以提高代码质量和团队协作效率。…

    科研百科 2024年9月15日
    38
  • 超市管理系统程序员项目

    超市管理系统程序员项目 随着现代商业的发展,超市已经成为了人们日常生活中不可或缺的一部分。然而,随着超市的规模逐渐扩大,管理起来也越来越复杂,这就需要一套高效的超市管理系统来协助管…

    科研百科 2025年1月22日
    0
  • 山区高速公路隧道内换道区域设置方法研究(高速隧道可以换道吗)

    尚婷 吴鹏 李松凌 夏瑜 重庆交通大学交通运输学院 中交一公局集团有限公司 摘 要:针对我国山区高速公路隧道与互通立交出口小间距路段车辆运行效率低、道路交通事故频发等问题,提出在隧…

    科研百科 2022年7月23日
    573
  • 企业 优秀党务工作者

    尊敬的各位领导,各位同事: 大家好!我是企业的一名党务工作者,很荣幸能够在这里与大家分享我的经验和感受。 作为一名党务工作者,我深知自己的责任和使命。我始终坚持把党的路线方针政策落…

    科研百科 2024年10月4日
    32
  • 画出“同心圆”筑牢“共同体”,虹口区域化党建高质量发展谱新篇

    “七一”来临之际,虹口区召开庆祝中国共产党成立102周年座谈会暨区域化党建工作联席会议2023年工作会议,发布2023年虹口区区域化党建重点项目清单及联席会议成员单位资源清单。 在…

    科研百科 2024年6月27日
    80
  • 从二进制算法到低代码

    二进制算法是计算机科学中的重要概念之一。它是一种使用0和1表示数字和字符的数制系统。在计算机中,所有的数据都以二进制形式存储和处理。二进制算法的应用非常广泛,涵盖了计算机科学的各个…

    科研百科 2024年2月29日
    141
  • 软件服务与软件销售如何区别开票

    软件服务与软件销售如何区别开票软件服务与软件销售如何区别开票 软件型软件型每次在开台之前,我都会在外面的公共办公室等到开会之后,为了消耗我所有的精力,让我一个人在它的办公室中,或者…

    科研百科 2024年11月29日
    0
  • 北京燃气蓝天(06828):业务营运均照常进行 继续停牌

    智通财经APP讯,北京燃气蓝天(06828)公布,于本公告日期,集团业务营运在所有重大方面均照常进行,且自公司股份暂停买卖以来,本集团的客户群及业务模式并无任何重大变动。 扩大调查…

    科研百科 2023年3月30日
    131
  • 山东省发展和改革委员会关于印发山东省省级政府投资项目代建制管理暂行办法的通知

    发文机关:山东省发展和改革委员会 成文日期:2019-12-30 标 题:山东省发展和改革委员会关于印发山东省省级政府投资项目代建制管理暂行办法的通知 发文字号: 鲁发改投资〔20…

    科研百科 2023年11月21日
    167