简体   繁体   English

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

[英]How do I run linux on an ARM Cortex M3 board?

I have a Luminary LM3s8962 ARM Cortex M3 development board, and while I've been able to program for it using the Keil RTOS, I'd much prefer to develop on top of linux and an embedded libc.我有一个 Luminary LM3s8962 ARM Cortex M3 开发板,虽然我已经能够使用 Keil RTOS 对其进行编程,但我更喜欢在 linux 和嵌入式 libc 之上进行开发。 What I would like to know is how can I actually get a linux kernel and my application and depdencies on my board?我想知道的是,我如何才能真正获得 linux kernel 以及我的板上的应用程序和依赖项? It has a SD slot, can I create some sort of filesystem image and just program the board with a bootloader?它有一个 SD 插槽,我可以创建某种文件系统映像并使用引导加载程序对电路板进行编程吗? Would I have to write the bootloader myself?我必须自己编写引导加载程序吗? I have absolutely no clue where to start on any of this.我完全不知道从哪里开始。 I've looked into the yocto project, but I'm still at a loss of how to actually deal with the multi-megabyte kernel and filesystem image files and get my board to run them.我已经研究了 yocto 项目,但我仍然不知道如何实际处理数兆字节的 kernel 和文件系统映像文件并让我的电路板运行它们。

A port of Linux to the M3 was done by Catalin Marinas of ARM. Linux 到 M3 的端口由 ARM 的 Catalin Marinas 完成。

You can find information about it here: http://www.linux-arm.org/LinuxKernel/LinuxM3你可以在这里找到有关它的信息: http://www.linux-arm.org/LinuxKernel/LinuxM3

I am writing a graphical-GUI application on Cortex-M3 and I must say I do not miss Linux-host even a little.我正在 Cortex-M3 上编写图形 GUI 应用程序,我必须说我一点也不怀念 Linux 主机。 My program starts with main(), I have malloc from libc, SDCARD runs on FATS and works literally like fopen() , fread() .我的程序以 main() 开头,我有来自 libc 的 malloc,SDCARD 在 FATS 上运行,并且像fopen()fread()一样工作。

Sure you have to know your stuff, but Linux even if it ran it would eat all your resources and give you little to no advantage.当然你必须知道你的东西,但是 Linux 即使它运行它也会吃掉你所有的资源并且给你几乎没有优势。 If you do not need to run several apps in parallel (threads) and do not need advanced scheduling, you are much better starting from int main() and using libc .如果您不需要并行运行多个应用程序(线程)并且不需要高级调度,则最好从int main()开始并使用libc

Have you tried Embedded Compact .NET?您是否尝试过嵌入式紧凑型 .NET? (I can hear the BOOO BOO,. from here, lol) If you are familiar with Visual Studio coding its piece of cake. (我可以听到 BOOO BOO 的声音,。从这里,大声笑)如果您熟悉 Visual Studio 编码它的小菜一碟。

I've tried long time ago in a Cortex M7 STM32 processor but was not good for my tight timing requirements.我很久以前就尝试过使用 Cortex M7 STM32 处理器,但不适合我严格的时序要求。 Check it out at http://msdn.microsoft.com/en-us/netframework/bb267253查看http://msdn.microsoft.com/en-us/netframework/bb267253

I wouldn't bother on trying to run Linux on ARM Cortex-M3, unless for learning things.我不会费心尝试在 ARM Cortex-M3 上运行 Linux,除非是为了学习。 Better grab board with MMU.使用 MMU 更好地抓板。 If you are looking OS for Cortex M3, I would stick with some sort of RTOS.如果您正在寻找 Cortex M3 的操作系统,我会坚持使用某种 RTOS。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM