我在我的项目中使用 PIC 微 Controller 。现在我想转向基于 ARM 的 Controller 。我想使用 Linux(使用 C)启动 ARM。但是我不知道如何开始使用 Linux。哪个编译器最好,我需要研究的东西有很多困惑。你们能帮我吗?我的项目通常包括UART、IIC、LCD等等。我没有使用任何 RTOS。你们能帮帮我吗?
抱歉我的英语不好
最佳答案
一旦您在设备上安装了像 Linux 这样的重量级操作系统,它提供的硬件的抽象级别使得它在很大程度上与芯片是什么无关。如果您想具体了解 ARM,使用 Linux 是避免这种情况的一种方式!
此外,从 PIC 到 ARM + Linux 的飞跃是巨大的。 Linux 不会因为少于 4Mb 或 RAM 和相当多的非 volatile 存储而起床 - 这是最低限度。 ARM 芯片覆盖范围广,低端部分甚至无法支持 Linux。要使 Linux 物有所值,您需要支持 MMU 的 ARM 部件,这不包括大量 ARM7 和 Cortex-M 部件。
有许多适用于 ARM 的小型操作系统,可让您以非常小的占用空间执行高效(和硬实时)调度和 IPC。它们的范围从简单的调度内核(如 FreeRTOS)到具有标准设备支持和网络(如 eCOS)的更完整的操作系统。即使您使用简单的调度程序,也有大量库可用于支持网络、文件系统、USB 等。
您关于编译器的问题的答案几乎肯定是 GCC - 这是构建 Linux 的编译器。您将需要一个交叉编译器来构建内核本身,但如果您有一个具有足够资源的 ARM 平台,一旦您在其上运行 Linux,您的目标就可以在本地托管一个编译器。
如果你真的想在 ARM 上使用 Linux 而不是我的所有建议,那么成本最低、工作量最少的方法可能是使用 Raspberry Pi。它是一 block 基于 ARM11 的主板,开箱即用地运行 Linux,得到越来越广泛的支持,并且可以超频到 900MHz
关于c - 如何在linux中启动ARM编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14352270/