LINUX.ORG.RU
ФорумTalks

STM32


3

3

Хочу попробывать себя в железкопаятельстве и моргании светодиодами. Что лучшее прикупить и куда лучшее читать? Думаю брать что то типа
http://www.aliexpress.com/item/Arm-cortex-m3-stm32f103c8t6-stm32-core-board-d...

Вопросы естественно:
* Прошивать просто USB или нужна ещё железка?
* Через что программировать на Linux
* Где читать тысячи примеров ?

★★★

Хочу попробывать себя

Попробый, попробый.

Прошивать просто USB или нужна ещё железка?

В STM32 прошит загрузчик, с которым умеет работать их утилитка. Но лучше (если будет возможность) прикупить какую-нить из плат Discovery, там на ней есть уже прошивальщик, с которым умеют работать многие, например, OpenOCD.

Через что программировать на Linux

Напрямую в контроллер — ХЗ, если на плате будет дополнительный программатор — то OpenOCD.

Где читать тысячи примеров?

EasyElectronics, ChipSpace, STM32-asm, EasySTM32, MyController, ZiBlog, немного про настройку environment, далее — везде.

one_more_hokum ★★★ ()

Лучше начни упарываться Freeduino и прочим подобным китайским хламом. Проще программировать его, чем STM32. Последний уже более навороченная штука, и для многих домашних задач избыточен.

Valeg ★★★ ()

Говорят, ncrmnt (ex. AiFiLTr0) пилит свою билд-систему antares. Я сам давно хочу попробовать, но руки-крюки не доходят разобраться с ней.

CYB3R ★★★★★ ()

В качестве редактора советую vim, но тут уж на вкус и цвет.

CYB3R ★★★★★ ()

Cortex-M не рулит.

Для попробывать себя в работе с микроконтроллерами я бы советовал AVR, ту же ардуину (Mega2560 например). Там документация сильно лучше.

Camel ★★★★★ ()

Стм32ф1, если нет загрузчика шьется по уарту через stm32flash. Рекомендующим дурину рекомендую убиться. Начинать если, то с чистого АВР. Но стм32 проще, так как готовый апи для периферии уже есть - ST peripheral libs. И в отличии от дурины сделан более или менее вменяемо.

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

Dirty AVR.

Начинать если, то с чистого АВР.

Чем в вашем представлении ардуина не чистый AVR? gcc, avr-libc, avrdude, канпеляй@загружай.

Camel ★★★★★ ()
Последнее исправление: Camel (всего исправлений: 1)
Ответ на: Cortex-M не рулит. от Camel

Там документация сильно лучше.

ORLY? И чем же она лучше?

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

Рекомендующим дурину рекомендую убиться

Никто не заставляет использовать ардуину с их IDE, можно и на голом Си писать. Сточки зрения начинающих ардуина самое то, только желательно писать сразу на Си, а не на их языке.

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

STM32 — он большой... Для работы одновременно приходится использовать не меньше трёх PDF-ок: STM32F37xx and STM32F38xx, STM32F372xx and STM32F373xx pinouts and pin description, STM32F3xxx and STM32F4xxx Cortex-M4 programming manual. У AVR-ов более-менее можно одним документом ограничиться.

one_more_hokum ★★★ ()
Ответ на: Dirty AVR. от Camel

Нет, под ардуиной в первую очередь понимают их среду и библиотеки. Как отладочная плата оно очень и очень типично сделано, разве что стоит втридорога.

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

а не на их языке.

Я тебе страшный тайна открою: их «язык» это маркетинговый буллшит. Нет там у них своего языка. Только очень тормозной С++ API который avr'ка еле еле ворочает.

ncrmnt ★★★★★ ()

Прошивать просто USB или нужна ещё железка?

Лучше купить JTAG-отладчик. С ним гораздо удобнее отлаживать, почти как на обычном компе. У китайцев есть куча нормально работающих подделок за ~$20. У меня самого китайский J-Link, работает норм.

Через что программировать на Linux

Для отладчика - OpenOCD, если просто шить - stm32flash. IDE - любая, поддерживающая C/C++ и удаленную отладку GDB. Часто используют eclipse.

Где читать тысячи примеров

http://easyelectronics.ru, http://we.easyelectronics.ru. В принципе, можно смотреть примеры из StdPeriphLibrary, но они там очень уж наркоманские.

P.S. Доки по стандартной библиотеке переферии корявые, но их можно перегенерировать doxygen'ом.

P.P.S. А ещё я использую cmake для сборки (старый пост, актуальная версия), достаточно удобно, но на любителя.

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

Ну, можно у нас взять stm32f1x дискавери за 300р в терре, там уже встроен stlink, я даже поверх стлинка пробрасывал stdin/stdout. (см. мой st-term из сырцов st-link'а линуксового). А вот cmake как-то для мк хреново приспособлен, как мне кажется. Таки реалилии в юзерспейсе другие. У меня для этого kconfig + make и out-of-directory сборка.

ncrmnt ★★★★★ ()

лучше какоенить ардуино или мсп430

Jetty ★★★★★ ()

Начинать с Cortex'ов и прочих АРМов я бы не советовал. Слишком все наворочено там. И архитектура там не простая. Возможностей дофига, но вначале это только мешает. Я бы посоветовал взять что-нибудь послабже и попроще. Сам я поклонник MSPэшек, потому их взять и совету. MSP430 Launchpad на сайте TI.com продается за 5 баксов с бесплатной доставкой до квартиры FedEx'ом. Платка самодостаточная, включает в себя и программатор по USB. При этом в комплекте еще и второй бесплатный проц, и часовой кварц. В общем вкуснота. С точки зрения начинания MSP ИМХО идеал, простая архитектура, минимальная система команд, небольшое число регистров, и при этом при все довольно внушительные возможности, так например на одном из процов из LaunchPad'a есть АЦП10 8 канальный, два таймера, 16 портов для вывода, хардварный УАРТ и еще пару плюшек.

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

Аван-и.

1. забить на платформосрач. все контроллеры +- одинаковы, особенно для начала, потом если захочешь - перейдёшь на что-то другое, из жертв - 2 дня времени и программатор.

2. найти продавца 100500 контроллеров в звёздоЧебоксарах - это определит платформу, + не надо ждать пересылок из ДС и др. ебеней

3. найти коммунити, примеры выше уже были

и не забыть про программатор. про онтопик я например забыл - пользуюсь ИДЕ микрочипа под оффтопом, дебаг кода на железе того стоит.

aiqu6Ait ★★ ()
Последнее исправление: aiqu6Ait (всего исправлений: 2)

Я сам эмбедку начинал с армов, и трудностей никаких не было, смотришь чужие проекты, собираешь, заливаешь бинарники. В ассемблер не лезешь, только С. Советую начинать с STM321Fxx или LPC17xx помладше. Посмотри в сторону ChibiOS и что там из коробки работает - там все примеры мигалки светодиодами :) Полюбому пару недель до уверенной работы понадобится. Возьми простой USB JTAG на ft2232 какой-нибудь, а то новые jlink'и не работают в OpenOCD. OpenOCD - няшка. Техас брать не советую новичкам - уж очень специфичный опыт работы с ними, вендорлок сплошной, и больше на здоровые конторы ориентируются. Под онтопик есть все средства разработки под все армы с разной степенью нубодружественности, есть еще AVR, остальные вендоры Linux не любят, но иногда можно найти средства, написанные энтузиастами. То есть я бы советовал брать любой ARM или AVR. Навороченные модели процов сразу не бери, бери самые простые, но не слишком ограниченные по ресурсам, а то иначе тебе трудно будет упихивать туда свои хотелки :)

ARM наше всё, короче.

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