Как запустить Linux на плате ARM Cortex M3?
У меня есть плата разработки Luminary LM3s8962 ARM Cortex M3, и, хотя я смог программировать ее с помощью ОСРВ Keil, я бы предпочел разрабатывать поверх Linux и встроенного libc. То, что я хотел бы знать, - как я могу получить ядро linux, мое приложение и ресурсы на моей плате? Он имеет слот для SD, могу ли я создать какой-нибудь образ файловой системы и просто запрограммировать плату загрузчиком? Должен ли я сам написать загрузчик? Я понятия не имею, с чего начать. Я изучил проект yocto, но все еще не могу понять, как на самом деле работать с мультимегабайтными файлами образов ядра и файловой системы и заставить мою доску запускать их.
4 ответа
Порт Linux для M3 был сделан Catalin Marinas из ARM.
Вы можете найти информацию об этом здесь: http://www.linux-arm.org/LinuxKernel/LinuxM3
Я пишу приложение с графическим графическим интерфейсом на Cortex-M3, и я должен сказать, что я не скучаю даже по Linux-хосту. Моя программа начинается с main(), у меня есть malloc из libc, SDCARD работает на FATS и работает буквально как fopen()
, fread()
,
Конечно, вы должны знать свои вещи, но Linux, даже если он будет работать, съест все ваши ресурсы и не даст вам никаких преимуществ. Если вам не нужно запускать несколько приложений параллельно (потоки) и не требуется расширенное планирование, вам гораздо лучше начинать с int main()
и используя libc
,
Вы пробовали Embedded Compact .NET? (Я слышу BOOO BOO!! отсюда, смеется) Если вы знакомы с Visual Studio, кодирующей его кусок пирога.
Я давно пробовал использовать процессор Cortex M7 STM32, но мне не хватило моих жестких временных требований. Проверьте это на http://msdn.microsoft.com/en-us/netframework/bb267253
Я не стал бы пытаться запустить Linux на ARM Cortex-M3, если бы не изучение вещей. Лучше возьмите доску с MMU. Если вы ищете ОС для Cortex M3, я бы остановился на какой-то ОСРВ.