Jump to content

    
Sign in to follow this  
SiMiLya

ARM Cortex M3 + Linux

Recommended Posts

Посмотрите Unison v4, v5

http://www.rowebots.com/products/unison_rtos

Ее можно запустить на ARM Cortex M3 без MMU. Но это не Linux. Но авторы обещают облегченный перенос Linux-приложений под нее.Кажется, это Ваш случай ;)

 

Хе-хе - знатная лапша :)

 

Unison supports general purpose MCU, DSP and DSC 32 bit architectures with as little as 1K of RAM and 6K of flash.

 

С такими ресурсами ногодрыгатель может и получится какой перенести :) А теперь внимание вопрос - зачем платить за то чтобы эмулировать сервисы ОС предоставляемой бесплатно ?

 

Share this post


Link to post
Share on other sites
И в любом случае, порт на Cortex-M3 автор топика вряд ли осилит.

 

У меня видение Getting started with uClinux™ for STM32F10x high-density devices...

ЗЫ

Или имеется ввиду что автор не осилит воспользоваться готовым портом?

Share this post


Link to post
Share on other sites
У меня видение Getting started with uClinux™ for STM32F10x high-density devices...

ЗЫ

Или имеется ввиду что автор не осилит воспользоваться готовым портом?

 

Упс, сорри на дезинформацию... Я почему-то считал, что у всех STM32F нет внешней шины.

Share this post


Link to post
Share on other sites

А я что-то вообще не въехал -- а причем здесь Линукс?

 

Ну да, беспокойство автора библиотеки понятно. Но причем здесь Линукс? Библиотека использует какие-то функции ядра (линуксойдного)? Или использует в свою очередь какие-то вызовы из других библиотек (Линукса)? Если ничего этого нет, то зачем компилить под Линь? Может запросить обычную кросс-библиотеку (т.е. комповый файл, внутри которого коды команд Кортекса) и хэдерный файл. Потом при создании (естесственно!) на компе бинарника для кортекса эта библиотека будет тупо прилинкована к Вашему коду. Остается в сам проц (кортекс) залить полученный бинарник. Причем здесь Линукс?

 

Столько тумана. Кто кого хочет надуть? По моему при таком раскладе дел на старте проекта, нормально поднять его -- не получиться.

Share this post


Link to post
Share on other sites
Короче, у заказчика есть какой то супер-пупер алгоритм комплексирования (задача по комплексированию курса, навигация) который он купил за большое бабло, и теперь хочет его внедрить в этот проект. А алгоритм сам представляет собой, как выразился мой коллега (не ручаюсь за смысловую правильность его слов) "закрытый объектный файл"

Ваш закрытый объектный файл скорее всего скомпилирован для х86, как вы его на арме исполнять собираетесь? А если он для арма скомпилирован, то есть такая секретная программа под названием линкер.

Edited by ar__systems

Share this post


Link to post
Share on other sites
Только что задал этот вопрос заказчику.

Ответили, что мне вышлют объектный файл, скомпилированный под то ядро и железо, которое я выберу сам (!).

Короче, суть в том, чтобы любым путём не давать исходник. Отака фигня.

Вы задайте ему лучше вопрос, зачем там вообще линукс. Используют ли они какие-то сервисы ядра ОС, если да, то какие именно.

Если принципиальной привязки именно к ядру линукса нет, то пусть соберут либу в любой удобной вам среде и передадут вам ее вместе с файлом заголовка.

Share this post


Link to post
Share on other sites
Unison supports general purpose MCU, DSP and DSC 32 bit architectures with as little as 1K of RAM and 6K of flash.

С такими ресурсами ногодрыгатель может и получится какой перенести

Это footprint самой системы. Отводите под приложение столько, сколько нужно. Есть примеры и с фильтрами, и с FFT, и с web-сервером.

 

зачем платить за то чтобы эмулировать сервисы ОС предоставляемой бесплатно ?

Наверное для того чтобы сэкономить собственное (небесплатное, полагаю) время.

Share this post


Link to post
Share on other sites
Есть примеры и с фильтрами, и с FFT,

 

Какое отношение эти примеры имеют к конкретной ОС ?

 

и с web-сервером.

 

Сервер серверу рознь - апач c пхп туда перенесете ?

 

Наверное для того чтобы сэкономить собственное (небесплатное, полагаю) время.

 

Да-да - видимо для экономии вы сначала пишете под linux а потом ищете эмулятор linux за деньги :) Не проще сразу выбирать подходящую ОС или заплатить за разработку BSP если вы так цените свое время ?

Edited by sasamy

Share this post


Link to post
Share on other sites

Заказчику надо сказать, чтобы код был скомпилирован под ARM Cortex-M3 без использования чего-либо кроме Си Stdlib. Никаких внешних зависимостей не допускается. Если заказчик на такие условия пойдёт (что крайне маловероятно), то линукс вам не понадобится. Если есть зависимости, то надо проводить серьёзное изучение на предмет находимости этих зависимостей в исходниках, либо собранных под будущую платформу. Затем нужно будет выбрать достаточно толстый проц типа АРМ9 и потихоньку туда перетаскать все зависимости и собранную либу от заказчика.

Share this post


Link to post
Share on other sites
Затем нужно будет выбрать достаточно толстый проц типа АРМ9

И не забыть про FPU, так как можно гарантировать что он там потребуется. К тому же разрабатывалось это наверняка под PC, так что еще не факт что вообще в маленький ARM справиться.

Share this post


Link to post
Share on other sites

я хоть и поклоник Линукса, но хочу сказать следующее!

в этой задаче не ясно на кой болт нужны эти мутные танцы с линуксом?

Както все мутно описано.

Даже если вы запустите проект - вы его потом не сможете поддерживать и развивать.

Или делайте без линукса, или с Линуксом но с открытым хотя бы для вас кодом.

Ох и на мучаетесь из за того что прогнетесь под закрытую библиотеку...

Share this post


Link to post
Share on other sites
в этой задаче не ясно на кой болт нужны эти мутные танцы с линуксом?

 

Очевидно - требование заказчика.

 

Даже если вы запустите проект - вы его потом не сможете поддерживать и развивать.

 

А вот это и есть главная проблема - очевидно исполнитель просто не подходит под требования заказчика.

 

Ох и на мучаетесь из за того что прогнетесь под закрытую библиотеку...

 

Все эти "мучения" только в головах местных ненавистников открытого ПО :) Открывать нужно только код который непосредственно линкуется с кодом под GPL - таже glibc имеет лицензию LGPL которая разрешает линковку с закрытым кодом, QT тоже самое. Бинарные блобы есть даже в ядре - выход там простой, они вызывают функции-обертки и открывают код только оберток, так как блоб не вызывает напрямую функции ядра его можно уже не открывать. Выходов предостаточно.

Share this post


Link to post
Share on other sites
Упс, сорри на дезинформацию... Я почему-то считал, что у всех STM32F нет внешней шины.

 

Но эта шина только под статическую память, которая не бывает больших объёмов.

 

Share this post


Link to post
Share on other sites

зачем вообще люди устанавливают линуксы (ОС) на МК? для реализации многозадачности? и все?

Share this post


Link to post
Share on other sites
зачем вообще люди устанавливают линуксы (ОС) на МК? для реализации многозадачности? и все?

Скорее, для более нетривиальных сервисов, доступных при помощи линукса: продвинутая сеть, файловые системы (включая NTFS), wifi-адаптеры (для многих есть линукс-драйверы) и т.д.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this