Освоение азов программирования, на архитектуре Stm32 Cortex

Всё о ЧПУ (CNC). Компоненты, станки, программы.
Vladimir52
Реальное имя: Владимир
Откуда: Мюнхен

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение Vladimir52 » 29 дек 2016, 19:38

T-Duke писал(а):Источник цитаты Таковы начальные условия задачи. У человека есть плата и хочется что-то понять, на том что есть и не хочется тратить 10 лет на обычный путь от начинающего программиста к эмбеддеру. Тема была создана только потому, что был страждущий человек, на мучения которого не мог смотреть.


Ну, я так понимаю, что задача не освоить плату, а заставить двигаться железки с моторами. А с учетом начального уровня, даже наличие на руках платы stm32 не сильно поможет. Единственное ее преимущество только в том, что у вас лично есть время и желание писать програму.
С другой стороны, концепция Ардуино выстрелила именно потому, что на ней можно что-то собирать, обладая даже самыми незначительными знаниями о программировании, и совсем нулевыми знаниями о микроархитектуре атмеловского чипа. Да, она не такая мощная, но мы же об азах говорим? К тому же китайская Mega2560 приобретается буквально на 6-7 евро.

Но тема все равно хорошая. Даже на чипе специалистов по stm32 не много.

Аватара пользователя
Автор темы
T-Duke

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение T-Duke » 29 дек 2016, 20:40

Vladimir52 писал(а):Источник цитаты Ну, я так понимаю, что задача не освоить плату, а заставить двигаться железки с моторами.
Нет, эта задача мною уже решена почти полностью. Для новичка здесь путь слишком длинный был бы. У Вальтера хотелка именно что-то самому попробовать и немного научиться разбираться в крякозябрах языка Си.

Vladimir52 писал(а):Источник цитаты К тому же китайская Mega2560 приобретается буквально на 6-7 евро.
У китайцев 168МГц проц на али стоит 270р. Легенькие процы еще дешевле, есть и варианты на плату распаянные.

Vladimir52 писал(а):Источник цитаты выстрелила именно потому, что на ней можно что-то собирать, обладая даже самыми незначительными знаниями о программировании
Такую же фичу можно сделать и для стм32, вшив интерпретатор байткода виртуальной машины и потом закидывать проги по УАРТУ. Просто до этого никому дела нет пока. Для этих целей есть дуина. Но написание программ для некой платформы на контроллере, это не то же самое, что написание программ для микроконтроллера.

Я например уже многократно ужимал узкие места в довольно большой программе на кортексе, за счет того, что работаю с чистым контроллером, а не виртуальной машиной на его борту и могу использовать все ресурсы по оптимизации.

А вообще я не против дуинщиков и атмельщиков. Если кто-то хочет свою тему по ним двигать, думаю тесно никому здесь не будет :)
Technology is insignificant comparing to the power of the Force.

Vladimir52
Реальное имя: Владимир
Откуда: Мюнхен

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение Vladimir52 » 29 дек 2016, 20:56

T-Duke писал(а):Источник цитаты Такую же фичу можно сделать и для стм32, вшив интерпретатор байткода виртуальной машины и потом закидывать проги по УАРТУ. Просто до этого никому дела нет пока.

Ну таки да, есть такая Arduino Due. Там стоит атмеловский SAM контроллер с 84-MHz кортексом M3.
Ее можно программировать как из ардуиновской IDE так и напрямую, тем же Atmel Studio. Про виртуальные машины на микроконтроллерах ничего не слышал.

Аватара пользователя
Автор темы
T-Duke

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение T-Duke » 29 дек 2016, 21:30

Хм.. А в чем тогда преимущество дуины? Если для нее нужно так же компилировать проекты и зашивать в контроллер?
Technology is insignificant comparing to the power of the Force.

Vladimir52
Реальное имя: Владимир
Откуда: Мюнхен

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение Vladimir52 » 29 дек 2016, 22:02

T-Duke писал(а):Источник цитаты А в чем тогда преимущество дуины?

Я не великий знаток микроконтроллеров, и уж тем более Ардуин. Но как мне кажется, основная фишка Ардуины, как идеи, состоит в том, что можно брать готовый микроконтроллерный модуль (для самодельных смысл дуины полностью теряется) и очень быстро лепить прототипы проектов, используя кучу уже готовых библиотек. Тоесть не только собственное железо уж не не надо с нуля программировать (типа UART'ов, I2C, SPI и прочее), но и многообразие внешних железок уже поддержана. Вот буквально недавно я за пару часов накидал и проверил проектик управления шаговиком, причем с заданием скорости, перемещений, ускорений, торможений. Для шаговика я не написал ни строчки кода, так же как и для RGB-LCD индикатора, управляемого через I2C. Вся моя программа - просто логика управления юзером и считывание состояний кнопок и потенциометров. Я набросал этот проектик на Меге, но потом она мне понадобилась для другого, и я перенес его на Uno, просто переназначив ножки, и все работает. Таким образом, Ардуина позволяет более или менее абстрагироваться от железа на плате контроллера.

Если же с нуля разрабатывать на голом контроллере, хоть Атмеловском, хоть ST, да еще на самодельной плате, то смена контроллера может вылится в сотни часов потраченного времени, в зависимости от того, на что идет замена. В моем очень давнем прошлом работы с DSP-процессорами TI, переход с TMS-ов с плавающей точкой на такие же, но с фиксированной, было сродни изучению новой вселенной. Хотя IDE для разработки была одна и таже.

User_612

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение User_612 » 30 дек 2016, 03:22

Вот в том и суть что почти все готово, а раз готово значит прогресса не будет.

Аватара пользователя
Автор темы
T-Duke

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение T-Duke » 30 дек 2016, 08:38

Vladimir52 писал(а):Источник цитаты Но как мне кажется, основная фишка Ардуины, как идеи, состоит в том, что можно брать готовый микроконтроллерный модуль (для самодельных смысл дуины полностью теряется) и очень быстро лепить прототипы проектов, используя кучу уже готовых библиотек.
И это все? Я думал там какой-то юзер-френдли интерпретатор языка зашит, на котором программировать легко каждый может. А это просто набор готовых модулей и софта. Хм. Никакой разницы по сравнению с другими контроллерами. Точно такие же вещи можно на стм делать. Просто развиватели дуины делают это на более древних контролерах. Я разочарован. Никогда не вникал в дуину, но у меня держался миф, что там нечто легкое для новичков. А выходит если с нуля нужно что-то запилить и этого нет, то тут мы и приехали - начинается программирование и архитектура. Короче понятно. Это просто ниша на рынке для заработка на потребителях из сегмента пионеров-студентов-хоббийщиков.
Я лет 7 назад купил готовые модули для управления шаговиками на тошибовских микрухах, а теперь на дуине это повторили. Разница в сравнении с фирменными контроллерами во виде одной микрухи незначительна. Всего-то некоторая гибкость при настройке выводов и возможность внесения патчей.
Теперь мне понятна эта франшиза под названием дуина. Ничего выдающегося. Спасибо за то, что помогли развеять миф у меня в голове :crazy:
Technology is insignificant comparing to the power of the Force.

dimondss
Реальное имя: Дмитрий
Откуда: Ивано-Франковск

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение dimondss » 30 дек 2016, 09:08

T-Duke писал(а):Источник цитаты Я думал там какой-то юзер-френдли интерпретатор языка зашит, на котором программировать легко каждый может

Ну там типа упрощенный (относительно си например) язык и куча готовых библиотек под готовые покупные модули.
Но сама IDE тоже очень упрощена, короче это все на конкретного любителя.
Чтобы "каждый мог програмировать" нужно было сделать вариант с графическим програмированием - типа строишь блок схему алгоритма из блоков :).

Аватара пользователя
Автор темы
T-Duke

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение T-Duke » 30 дек 2016, 09:19

А что за язык? Васик какой-то?
Technology is insignificant comparing to the power of the Force.

Vladimir52
Реальное имя: Владимир
Откуда: Мюнхен

Освоение азов программирования, на архитектуре Stm32 Cortex

Сообщение Vladimir52 » 30 дек 2016, 09:31

dimondss писал(а):Источник цитаты Ну там типа упрощенный (относительно си например) язык

T-Duke писал(а):Источник цитаты А что за язык? Васик какой-то?


Ага, С++ :crazy:

Отправлено спустя 4 минуты 10 секунд:
T-Duke писал(а):Источник цитаты Точно такие же вещи можно на стм делать.

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


Вернуться в «Системы ЧПУ»