2009-02-18 38 views

回答

14

一旦一切正常运行,它主要是linux编程。如果你从一个评估板开始,我想你已经有很多工具。无论如何,你可能会发现以下链接有用。

工具链:交叉编译。你可以去简单的方法,即从code sourcery下载预建的工具链。或者你可以去努力,建立你自己的工具链。然而,如果您使用正确的工具,困难的方法会变得更容易。 Croostool-ng是一个非常反应性的邮件列表项目。

内核:好,ARM架构已经在主线了一段时间,但是,如果你有一些ARM的具体问题,您应该definitly问他们there

用户空间:一旦内核启动,你需要一个用户空间运行,即一些文件系统,shell,C库,init进程等......要构建这样的工具,有很多选择。一个是自己做所有事情。你从busybox开始,然后继续使用你需要的各种工具。或者你可以使用自动化和可配置的工具。我的意愿是ptxdist,因为它具有正确的复杂度级别(供我使用)。另一种选择是我不知道的buildroot。如果你觉得你需要更强大的东西,也许你可以看看OpenEmbedded

我遇到了与嵌入式开发相关的索姆书,但它更像是文档化的脚本。构建一个完整的嵌入式系统非常困难,我认为你会在工具和邮件列表中找到比书本更多的信息。

0

如果您有TS-7000系列板,您可能需要订阅TS-7XXX mailing list

+0

我做到了。我还发现他们的开发工具对于新手来说非常有帮助。 – yrcjaya 2009-03-01 14:39:51

0

我认为这取决于你要开发什么样的应用程序。

对于Linux(而不是Android)和应用程序,ARM设备没什么特别之处,我不认为除了构建工具链以外,您不需要任何特定于ARM的知识。像Ubuntu和Arch这样的发行版都有基于ARM的版本,其存储库中几乎所有与开发相关的软件包都可以与ARM协同工作。

对于使用诸如相机,加速度计等设备的应用程序,如果他们在Linux上有驱动程序,那么不用担心。

您真正需要关心的是在Linux上没有驱动程序或非常廉价的驱动程序的硬件组件,在这种情况下,您必须直接与设备通信。您需要在内核中工作或使用ioctl类似的界面。然后ARM内存管理,I/O管理(内存映射,探测等),中断编程是您需要学习的内容。只需在供应商的网站上找到您的CPU的手册,就可以找到Intel x86或x64开发手册。

相关问题