如何在ARM Cortex M3板上运行Linux?

11
我有一块Luminary LM3s8962 ARM Cortex M3开发板,虽然我已经能够使用Keil RTOS为其编程,但我更喜欢在Linux和嵌入式libc上进行开发。我想知道的是,我如何将Linux内核、我的应用程序和依赖项放到开发板上?它有一个SD卡槽,我能否创建某种文件系统镜像,并通过引导加载程序将其编程到开发板上?我需要自己编写引导加载程序吗? 对于这些问题,我完全不知道从何开始。我已经研究了Yocto项目,但我仍然不知道如何处理多兆字节的内核和文件系统镜像文件,以及如何使我的开发板运行它们。

你不是第一个尝试这个的人:http://www.mail-archive.com/u-boot@lists.denx.de/msg39238.html - Ben Voigt
3
我猜它需要是uclinux,我不认为有一个带有MMU的Cortex-M。此外,我不知道是否有超过64K字节的。我有一个Thumb模拟器供您尝试,在GitHub上查找Thumbulator。32位寻址,所以您可以拥有GB级别的内存。QEMU也不错,他们支持Thumb2,可以修改Stellaris目标来获得更多的内存。 - old_timer
4个回答

8

链接已损坏。 - Navin

7
我正在为Cortex-M3编写一个图形化GUI应用程序,并且必须说,我一点也不想念Linux-host。我的程序从main()开始,我使用libc中的malloc,SDCARD运行在FATS上,与fopen()和fread()字面上相同。
当然,你需要知道你的东西,但即使Linux运行起来,它也会占用所有资源并给你很少或没有优势。如果你不需要并行运行多个应用程序(线程)并且不需要高级调度,则最好从int main()开始并使用libc。

1

你尝试过嵌入式紧凑版.NET吗?(我可以从这里听到BOOO BOO!!,哈哈)如果你熟悉Visual Studio编码,那就轻而易举了。

我曾经在Cortex M7 STM32处理器上尝试过很长时间,但对我的紧密时间要求不好。请查看http://msdn.microsoft.com/en-us/netframework/bb267253


这是一种解释性语言,对吧? - RushPL
是的,它有点被解释了,但如果您不需要纳秒级的速度,那就没关系。 - ruhalde
如果C#能够静态编译为本地代码(例如通过Mono),而不是解释代码,那将会很酷。这样可以编写高效且易读的代码。 - RushPL

-1

我不建议尝试在ARM Cortex-M3上运行Linux,除非是为了学习。最好选择带有MMU的板子。如果您正在寻找Cortex M3的操作系统,我建议使用某种RTOS。


4
如果将来你尝试帮助他人,请详细解释为什么不会有所介意... - andr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接