我使用ARM的arm-linux-gnueabi
编译器编译了一个用C编写的简单可执行应用程序。
如何在设备上运行它?
假设我有两台设备用于测试它:
如果无法在当前操作系统上运行它,那么如何格式化设备并将内核放入Android / Linux?
答案 0 :(得分:1)
应用程序通常构建为在操作系统之上运行。操作系统通常构建为在硬件之上运行。记住这一点。
运行Android / Linux的应用程序而不是意味着您的应用程序是某种操作系统。如果您没有编写或包含显式代码来控制设备中的硬件芯片,那么您只是提出错误的问题,您应该问“我在C中使用了一个应用程序,现在如何在我的手机上运行它操作系统。”如果您确实编写或包含显式代码来控制设备中的硬件芯片,那么您确实提出了正确的问题(但有些细节似乎已关闭)。这种开发方式在arduino / PIC /嵌入式ARM社区中发生了很多。
假设您没有进行嵌入式开发,则必须编译应用程序,并了解操作系统提供的内容(针对操作系统的可用API),这通常会使它们与其他操作系统不兼容。这意味着第一步是确定您要定位的操作系统,并获取它的开发套件。一旦你拥有它,假设它支持C代码(大多数情况下),套件将以与设备的CPU和设备上的操作系统的API兼容的格式重新编译源代码。
像手机这样的小型设备通常运行的操作系统只具有PC的一小部分功能,因此请准备好更少的便利功能,并可能“丢失”库。也就是说,如果您确实需要编译,通常您可以使用支持的“总线”(USB非常受欢迎)将设备挂起,并将程序保存在设备上(有时需要发送“开发/调试”代码)公共汽车,开发套件为你做这个。)
如果一切正常,您可以通过手机启动程序。如果程序行为不当并使手机无法操作,则每个开发套件/手机都有关于如何恢复或重新加载新操作系统的具体说明。
以下是一些众所周知的平台的资源(以及使用它们的手机的百分比)
请注意,这些测量与大多数调查一样,虽然它们是随机且无偏的,但它们容易出现测量误差和采样误差,因此数字作为相对指标比绝对值更有用。