当前位置: 首页 > 面试题库 >

编译用于ARM体系结构的Linux程序-在主机OS上运行

蓬祺
2023-03-14
问题内容

我有一个运行Linux Ubuntu的Freescale(i.MX53)的ARM
Coretex-A8开发板。它可以正常启动,我可以使用鼠标/键盘/终端访问系统。

首先,我想让一个应用程序在主机OS内的板上运行,就像在PC上运行应用程序一样。

我的问题是,使用基于cc的YAGARTO之类的工具链来编译我的测试程序,因为我没有定义任何启动脚本,所以最终在链接方面遇到麻烦。

我发现了许多有关构建“裸机”配置的信息(包括编译内核以及创建加载和链接脚本),但是对于使应用程序在主机OS上运行没有任何帮助。

我的开发环境在Windows 7上运行。我也可以选择在Linux X86上运行,但是我怀疑这对我制作ARM应用程序会有帮助。


问题答案:

对于ARM-Linux应用程序开发,首选选择是其中装有ARM工具链的Linux
Host(x86)计算机。在Ubuntu桌面计算机上,您可以使用以下命令来安装ARM工具链:

apt-get install gcc-arm-linux-gnueabi

安装工具链后,您可以使用以下命令进行交叉编译:

gcc-arm-linux-gnueabi-gcc -o hello hello.c

使用此工具链,您可以使用标准C库交叉编译C程序,而无需启动代码。可以在您的Host Linux(x86)平台上交叉编译应用程序,并在Target
Linux(ARM)平台上运行。

Windows版本的ARM-Linux工具链也可用。你可以从这里得到。

Linaro Developers
Wiki-一个致力于在ARM上改进Linux的开放组织,将为您的工作提供很好的参考。



 类似资料:
  • 问题内容: 我对在x86主机上为ARM目标交叉编译Linux内核感兴趣。您推荐一些好的做法吗?您认为哪个是最好的交叉编译套件?您是否建立了自定义的交叉编译环境?如果是,您有什么建议?这是个好主意吗? 问题答案: 我为ARM / Linux工具使用了两种方法。最简单的方法是直接下载预构建的工具链。 优点 :它可以正常工作,您可以继续进行项目中有趣的部分。 缺点 :您选择了他们所选择的gcc / bi

  • 问题内容: 让我们分享基于Java的Web应用程序体系结构! Web应用程序有许多不同的体系结构,这些体系结构将使用Java来实现。这个问题的答案可以用作各种Web应用程序设计的库,各有其优缺点。虽然我意识到答案将是主观的,但让我们尽可能做到客观,并激发我们列出的利弊。 使用您喜欢的详细程度描述体系结构。为了使您的答案具有任何价值,您至少必须描述所描述的体系结构中使用的主要技术和思想。最后但并非最

  • 在Linux上如何使用gcc编译c程序 如何安装gcc 编辑c代码 编辑代码 运行代码

  • 本文向大家介绍如何在Mac OS上编译和执行C#程序?,包括了如何在Mac OS上编译和执行C#程序?的使用技巧和注意事项,需要的朋友参考一下 要在Mac上编译和执行C#程序,首先需要IDE。在MacOS上,最好的IDE之一是Monodevelop。 Monodevelop是一个开放源代码的IDE,它允许您在Windows,Linux和MacOS的多个平台上运行C#。MonoDevelop也称为X

  • 问题内容: 我正在Windows 10计算机(使用Visual Studio 2015更新3 + Microsoft .NET Core 1.0.1 VS 2015工具预览2)上开发.NET Core应用程序,该应用程序应在Ubuntu 16计算机上发布。为此,我必须将源代码移动到终端机并在那里进行编译,以使其运行。例如,我无法在Windows上编译代码并在Linux上运行它。问题:有什么方法可以

  • 我对web应用程序向微服务的发散点感到困惑--它是在url级别还是模型级别?举个例子,假设我有一个单片应用程序,它提供3个页面。假设每个页面都有一个单独的用法,我想用它们自己的微服务来支持它们。下面哪一种是实现基于微服务的体系结构的正确方法: 我创建了三个不同的应用程序(微服务),每个都包含一个页面的(路由、控制器、模型、模板)。然后根据哪个页面被请求,我将请求路由到那个特定的应用程序。这意味着从