LINUX.ORG.RU

Бывает Arduino mini, но с ARM и eCos/FreeRTOS

 ,


0

1

Посмотрел на зоопарк плат с ардуинками, на разнообразие шилдов и модулей. Выглядит это всё, конечно, впечатляюще, за исключением архитектуры микроконтроллера и языка програмирования.

Подскажите, а бывают платки форм-фактора arduino mini на ARM, на которые можно непринужденно накатить RTOS и писать на Си? А если еще и шильдики ардуиновские бы подходили - было бы вообще прекрасно.

Всё что я нашел на STM32 размером и стоимостью с материнскую плату.

★★★★★

Последнее исправление: makoven (всего исправлений: 3)

Может стоит посмотреть в сторону всяких raspberry? Вряд ли на ардуину накатишь полноценную работоспособную ОС. Шилды ардуиновкие можно подключать к малине, есть даже платы-переходники чтоб совсем не париться.

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 1)
Ответ на: комментарий от alozovskoy

Вряд ли на ардуину накатишь полноценную работоспособную ОС

Так RTOS же вроде не полноценная, а специально для маленьких контроллеров? Или я ошибаюсь?

makoven ★★★★★
() автор топика

Подскажите, а бывают платки форм-фактора arduino mini на ARM, на которые можно непринужденно накатить RTOS и писать на Си? А если еще и шильдики ардуиновские бы подходили - было бы вообще прекрасно.

Вроде такого?

CrossFire ★★★★★
()
Ответ на: комментарий от alozovskoy

Вряд ли на ардуину накатишь полноценную работоспособную ОС

На STM32 вроде как FreeRTOS работает.

CrossFire ★★★★★
()
Ответ на: комментарий от alozovskoy

Малинка - это хорошо. Но иногда (в моем воображении) появляются задачи, для которых простой логики, которую можно засунуть в 2 килобата и крутить на 100 меггерцах.

Здравый смысл подсказывает использовать ардуину или вообще PLC. А любовь к хайпу настойчиво требует ARM

makoven ★★★★★
() автор топика

Тысячи их, Texas Instrument Wonder Gecko, например или что попроще из TI. Впринципе любая evaluation board на Cortex-M4.

M4 хоть и может работать с риал-тайм осями, но, я думаю, оно тебе там не надо, пиши беар метал на сишке.

anonymous
()
Ответ на: комментарий от makoven

(2 CrossFire 2)

Ну судя по гуглу есть RTOS и для Arduino, при этом нужно (!) будет писать на C как ты и хочешь, но мне кажется что тогда просо «совместимый» МК лучше взять. Хотя (вообще я далек от этой темы) я не представляю что там на этих крохах ресурсов можно делать с учетом того, что часть будет жрать еще ядро ОС.

alozovskoy ★★★★★
()
Ответ на: комментарий от anonymous

и стоят они около 20 баксов — самое дорогое

если повыеживаться, у кетайцев можно найти эти платы по баксу за штуку

anonymous
()
Ответ на: комментарий от CrossFire

Наверное, да. Но по ссылке написано 1 The programming language is basically the same with Arduino, even the source code of some simple project can be in common use.

makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

Наверное, да. Но по ссылке написано 1 The programming language is basically the same with Arduino, even the source code of some simple project can be in common use.

В чем проблема-то? На самом деле и под AVR с ардуиной можно писать на чистом Си. http://avr.ru/tools/linux/dev

CrossFire ★★★★★
()
Последнее исправление: CrossFire (всего исправлений: 1)
Ответ на: комментарий от anonymous

evaluation board

Так они размером с противень

пиши беар метал на сишке

Правильно я понимаю, что есть несколько произодителей ARM-контроллеров и что bare-metal код под каждый из них будет существенно отличаться. И что RTOS позволит как-то сгладить эти отличия?

makoven ★★★★★
() автор топика
Ответ на: комментарий от alozovskoy

что там на этих крохах ресурсов можно делать с учетом того, что часть будет жрать еще ядро ОС

Дык вся бытовая техника на этх крохах работает. Еще этих крох достаточно, чтобы предоставить (проводной/беспроводной)интерфейс для мигания светодиодом управления реле. Что еще для счастья надо )

makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

evaluation board

Так они размером с противень

не все, их миллион разных и не обязательно evaluation, можно взять любую на этом чипе, бывают и с 2 пальца

есть несколько произодителей ARM-контроллеров

ARM сам процессоры не производит, их делают все кому не лень, но не ARM, у него только права на интеллектуальную собственность

и что bare-metal код под каждый из них будет существенно отличаться

нет, есть такая штука как CMSIS, погугли, в общем и целом ты ничего не заметишь, пися свои термометры и калькуляторы

И что RTOS позволит как-то сгладить эти отличия?

тоже нет, ось будет только переводить процессор в privileged mode, рулить интерраптами и кушать память

anonymous
()
Ответ на: комментарий от CrossFire

В чем проблема-то?

Если уж влезать в это болото с МК, то лучше сразу на ARM. Мозг-то не резиновый )

makoven ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Про CMSIS интересно. Может и правда писать на сразу железку.

А компилятор у каждого производителя свой? Или gcc/llvm уже доросли до того, чтобы компилять под эти контроллеры?

makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

Может и правда писать на сразу железку.

правда правда, с осью только гемора нахватаешься

А компилятор у каждого производителя свой?

Тут скорее всего лучше по началу загрузиться в дуалбутную венду, так как вменяемых IDE есть только под маздайку (Keil, ARM DS-5, IAR...) и они все стоят денег. IAR есть бесплатная версия, она очень не плоха, для начала бери ее.

По-моему они все юзают gcc/llvm...

В принципе под линукс тоже можно юзать тулчеин с gcc (arm-none-eabi-gcc) + линкер + руки, но для начала это стремно. В IDE хотябы видно дизассемблированный код, регистры и потребление памяти.

anonymous
()
Ответ на: комментарий от anonymous

В принципе под линукс тоже можно юзать тулчеин с gcc (arm-none-eabi-gcc) + линкер + руки, но для начала это стремно

Ну ничего. Зато узнаю много нового. Жаль, конечно, что все адекватные инструменты под венду.

А эти IDE и arm-none-eabi компилят один блоб, который можно залить в разных производителей или под каждый контроллер индивидуально?

За видео спасибо. Автор говорит очень внятно

makoven ★★★★★
() автор топика
Ответ на: комментарий от anonymous

в IDE можно выбрать конкретную плату от конкретного производителя и оно скачает и поставить все дрова само

а gcc компилит только под архитектуру, линковать и собирать либы будешь сам и врятли осилишь :)

anonymous
()
Ответ на: комментарий от anonymous

а gcc компилит только под архитектуру, линковать и собирать либы будешь сам и врятли осилишь :)

Нагуглю что-нибудь. Не может же быть такого, что все эмбедщики сидят на венде )

makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

84.7% на винде. Только последние лет пять, наверное, началась движуха с эмбеднутым линуксом для обычных пользователей.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от makoven

Может. И они сидят. В основном на работе, где выбирать не приходится. Так же, как одмины FreeBSD.

anonymous
()

непринужденно накатить RTOS

RTOS бывают разной «жирности»: scmRTOS, duinos, uSmartX, Femto OS, TinyOS, ...

Но иногда (в моем воображении) появляются задачи, для которых простой логики, которую можно засунуть в 2 килобата и крутить на 100 меггерцах.

Для 2K «нинужны_никакие_ОС» :)

quickquest ★★★★★
()

Под arduino тоже можно писать на C. Так называемый Wiring - это С++ без libc, libc++, но со своей библиотекой. При компиляции IDE переименовывает ваш *.ino в *.cpp и скармливает gcc.

anonymous
()
Ответ на: комментарий от makoven

которую можно засунуть в 2 килобата и крутить на 100 меггерцах.

И что же это за логика такая? Учти, что ввод вывод быстрее 10-15 МГц не будет работать.

cvs-255 ★★★★★
()
Ответ на: комментарий от anonymous

так как вменяемых IDE

Вроде же спрашивалось про компилятор?

А компилятор у каждого производителя свой?

Нет, cross-gcc/clang хватит всем.

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

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

anonymous
()
Ответ на: комментарий от Dark_SavanT

А МК надо пдключать к компу? Чтобы залить прошивку или какую-то информацию с него получать. Или для отладки. Я не шарю. Для этого есть средства в линуксе?

makoven ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

так как вменяемых IDE

Вроде же спрашивалось про компилятор?

а линковать кто будет?

anonymous
()
Ответ на: комментарий от cvs-255

Так может IDE-шки компилят с какими-то оптимизациями под каждый контроллер и он в итоге работает быстрее?

makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

ничего кроме -mthumb -march и -O параметров gcc для оптимизации не придумали, я именно о линковке говорил, которую руками делать западло

anonymous
()
Ответ на: комментарий от makoven

и компилят они не под контроллер, а под процессор! а точнее его архитектуру

anonymous
()
Ответ на: комментарий от makoven

А когда наступает момент, когда bare-metal не хватает и надо RTOS?

Например, когда нужно работать с очень большой кучей разных датчиков и лень писать самодельный RT-планировщик задач :)

quickquest ★★★★★
()
Ответ на: комментарий от anonymous

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

makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

Если ты его прошить хочешь - надо. прошивку-то ты пишешь на компе.

В линуксе средства есть практически под все широко и не очень распространённые архитектуры, кроме разве что узкоспециализированных, типа infineon c166 и ему подобных.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от makoven

Когда ты понимаешь, что написал свою маленькую ОС с кооперативной многозадачностью.

Dark_SavanT ★★★★★
()

Возьми какой-нибудь Halley или ODROID-W с нормальным линуксом.

arson ★★★★★
()
Ответ на: комментарий от makoven

Когда контроллер один, а задач много разных на нём.

WRG ★★★★
()

Дискавери же. Стоят даже дешевле ардуин, дофига всякой периферии сразу на плате.

http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF254044
http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF252419

А если еще и шильдики ардуиновские

У STM32 напряжение 3.3 В, так что совсем втупую не получится. Алсо, забудь уже эту дурину и возьми паяльник, блеять. А то ардуинщики уже делители напряжения в виде шильдиков покупают. http://www.ebay.com/itm/High-Sensitivity-Voltage-Sensor-Module-Arduino-Compat... - $8.58, 151 sold! Хочешь таким же вырасти?

HeipaVai1o
()
Ответ на: комментарий от HeipaVai1o

не мощновато для начала? будет еще как на яве писать, так и не научится нормально программировать

anonymous
()
Ответ на: комментарий от anonymous

Есть дискавери и на STM32F0, но младшие серии отличаются в основном кастрированной периферией, так что для учёбы в них смысла мало.

HeipaVai1o
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.