-
- Linux + ChibiStudio. На крайний случай Винда+ChibiStudio. ChibiStudio это готовый набор инструментов для работы с STM32 в IDE Eclipse при использовании ChibiOS + HAL. И то и другое великолепно. Масса примеров HAL для всех возможных Discovery и Nucleo. Две версии RTOS - собственно сама ChibiOS c кучей сервисов, и более легковесная NIL. Берешь тестовый пример для своего процессора и используешь как "рыбу" для своего проекта - все необходимые инициализации уже выполнены. Rainman62(260 знак., 18.05.2020 03:40)
- Давайте подведу итоги на которые мозг мой способен. Итак: ИАР или
Кейл не особо принципиально. Полюбому нужен мастер аля CubeMX.
Программатор типа ST-Link (J-Link?) RTOS вероятно неотъемлемый
атрибут современного эмбединга и не сцать!? - Tpoeшник(15.05.2020 20:55)
- Выводы на троечку... CubeMX много что не кроет, и сильно отвлечет,
так чисто поиграться, ставку на него делать нельзя. RTOS через год.
Программатор для ST лучше ST-link, на последних версиях Segger были
проблемы с ST. А главное вообще не в ARM как таковом, а в выборе
способа организации средних и больших проектов. - VLLV(16.05.2020 07:34)
- Способы организации интересно конечно, но как правило банальнее
вещи заставляют думать о переходах: Tpoeшник(279 знак., 16.05.2020 12:16)
- я в своей время ушел с Z8Encore только по причине отсутствия USB Host и всего одного UARTа. Ну с УАРТами можно было разобраться путем софтовых и проч. А вот USB flash disk читать никак нельзя было. :-) Ну и конечно цены. 4 долл стоил Z8F1680 (20 МГц, 1 UART, 1 SPI, 1 I2C, 16K ROM, 2K RAM) и примерно столько же STM32L476 (80МГц, 256K ROM, 128K RAM, USB Host, 6 UART, 3 SPI, 3 I2C и проч). Такая вот арифметика. - Лaгyнoв(16.05.2020 13:06)
- Современный ARM раз в пять сложнее, чем AVR(как было 10 лет назад), поэтому вместе и портами и памятью получаешь кучу сущностей, с которыми нужно что-то делать. - VLLV(16.05.2020 12:54)
- Для аллергичных на Ардуино :) - Eclipse со Sloeber и STM32duino - адрдуино только для вида, как готовая сборка с компилятором и всеми нужными инструментами. При всех недостатках - все даром и работает и VLT(12 знак., 16.05.2020 12:52, , youtube, картинка)
- Способы организации интересно конечно, но как правило банальнее
вещи заставляют думать о переходах: Tpoeшник(279 знак., 16.05.2020 12:16)
- Выводы на троечку... CubeMX много что не кроет, и сильно отвлечет,
так чисто поиграться, ставку на него делать нельзя. RTOS через год.
Программатор для ST лучше ST-link, на последних версиях Segger были
проблемы с ST. А главное вообще не в ARM как таковом, а в выборе
способа организации средних и больших проектов. - VLLV(16.05.2020 07:34)
- Смотри по ссылке - Ozelot(14.05.2020 15:40, ссылка)
- спасибо, интересный списочек. :-) - Лaгyнoв(14.05.2020 15:45)
- gcc+eclipse+stlink, куб работает везде винь/линь - RED_DRAGON(14.05.2020 14:48)
- Кстати, Куб и Eclipse сейчас превратились в STM32Cube IDE (Atollic True Studio + интегрированный Cube). - Nikolay_Po(16.05.2020 18:32)
- Да! Если всё же Дискавери возьмешь, то дискаверным ST-Link-ом лучше
не пользоваться. Сразу надо нормальный, фирменный. Я столько нервов
себе попортил дискаверным . :-) - Лaгyнoв(14.05.2020 13:26)
- А что там, с дисковерным? - RxTx(17.05.2020 14:16)
- ну к примеру. Работает, работает. Один и тот же ST-link с одним и
тем же устройством (именно с тем же экземпляром) с одной и той же
версией проекта в той же версией Кейла. И вот с утра перестает
работать. Не видит камень. Начинаешь плясать. Добрые люди
посоветовали резистор последовательный 50 Ом в цепи SWCLK. Вроде
стало помогать. В другом устройстве стало хуже. Причем, что
забавно, всё это при работе с STM32F030. С ними все гадости. С
STM32L476 всё прекрасно. Все танцы Лaгyнoв(123 знак., 17.05.2020 14:54)
- Встретилось такое: RxTx(371 знак., 17.05.2020 17:10, ссылка)
- У меня ST-Link (см. ссылку) тоже иногда не запускает отладку.
Помогает передернуть ему USB. Попробую, конечно, фирменный. Хотя
неясно, тратиться на него или сразу купить изолированный. До этого
работал с фирменным J-Link EDU. Я НИ РАЗУ (!!!) за месяцы работы с
ним не видел какого-нибудь требования передёрнуть его или еще
что-то там. Может быть виновата atollic, не знаю. Последняя та еще
поделка. - RxTx(17.05.2020 17:01, ссылка)
- мне такой приносили, к STM32F030 не подключился. Не видит камня. :-( - Лaгyнoв(17.05.2020 17:58)
- Не 50 ом. У ARM, ST на всех схемах 22 ом на всех сигналах у процессора. Имеется в виду что это двунаправленные сигналы, резисторы нужны для выходов. До них - 10К подтяжка к +Vdd. Ставятся эти резисторы для компенсации импеданса линии и как следствие, отражений. Импеданс драйвера должен совпадать с х-ким импедансом линии, которое порядка 50 ом. RxTx(338 знак., 17.05.2020 16:57, ссылка)
- И не надо вести рядом в ленточном кабеле данные и клок. - Andreas(17.05.2020 15:08)
- а они и не идут. Там же между ними GND. - Лaгyнoв(17.05.2020 15:17)
- Кабель от программатора самодельный? Он должен быть предельно
короткий, буквально 10 сантиметров. И последовательный резистор
нужно размещать прямо на контактах программатора, а не где-то
посередине или рядом с МК. - fk0(17.05.2020 15:05)
- всё верно, 10 см. И сейчас со штатным St-link он такой же
самодельный. Но теперь без проблем. Тогда во время танцев резистор
размещал рядом с МК. Но ведь в дискаверном St-link резисторы 22 Ом
стоят до кабеля. По всем линиям. Я смотрел схему штатного. Там тоже
22 Ом. Схема та же. У меня такая мысля - закладка в дискаверном,
чтобы не оставались на нем, а покупали штатный. :-) - Лaгyнoв(17.05.2020 15:14)
- Закладка называется руки.sys. Резистор должен стоять около
источника клокового сигнала и имхо оптимально 90..120Ом, близко в
волновому ленточного. На производстве штук 5 дискаверей для
программирования стоят и шьют без проблем. Кабель сантиметров 30. - Andreas(17.05.2020 15:26)
- повторюсь, в штатном St-link резисторы те же и там же. Но он коннектится нормально. Дискаверный с тем же кабелем и с той же рабочей платой тоже коннектился нормально пару лет. Потом перестал. Есть еще инфа - обновление прошивки St-link. От версии зависит. - Лaгyнoв(17.05.2020 15:58)
- Выходное сопротивление ноги микросхемы отнюдь не ноль, а пару-тройку десятков ом плюс-минус неизвестно сколько. - fk0(17.05.2020 15:48)
- Закладка называется руки.sys. Резистор должен стоять около
источника клокового сигнала и имхо оптимально 90..120Ом, близко в
волновому ленточного. На производстве штук 5 дискаверей для
программирования стоят и шьют без проблем. Кабель сантиметров 30. - Andreas(17.05.2020 15:26)
- всё верно, 10 см. И сейчас со штатным St-link он такой же
самодельный. Но теперь без проблем. Тогда во время танцев резистор
размещал рядом с МК. Но ведь в дискаверном St-link резисторы 22 Ом
стоят до кабеля. По всем линиям. Я смотрел схему штатного. Там тоже
22 Ом. Схема та же. У меня такая мысля - закладка в дискаверном,
чтобы не оставались на нем, а покупали штатный. :-) - Лaгyнoв(17.05.2020 15:14)
- ну к примеру. Работает, работает. Один и тот же ST-link с одним и
тем же устройством (именно с тем же экземпляром) с одной и той же
версией проекта в той же версией Кейла. И вот с утра перестает
работать. Не видит камень. Начинаешь плясать. Добрые люди
посоветовали резистор последовательный 50 Ом в цепи SWCLK. Вроде
стало помогать. В другом устройстве стало хуже. Причем, что
забавно, всё это при работе с STM32F030. С ними все гадости. С
STM32L476 всё прекрасно. Все танцы Лaгyнoв(123 знак., 17.05.2020 14:54)
- А что там, с дисковерным? - RxTx(17.05.2020 14:16)
- У них есть полный JTAG, по крайней мере у некторых, поэтому если
где-то гуглится что для данного чипа есть поддержка openocd --
рекомендую делать коннектор а-ля байтбластер, программатор вида
байт-бластер (только на USB, Olimex например делает, копейки
стоит), на компе openocd и gdb. В качестве "среды": VSCode,
Eclipse, Vim... и clang/gcc. Есть наверное готовые сборки
(последнего), обычно в комплекте newlib. Волшебные фирменные
программаторы имеют недостаток, что привязывают fk0(403 знак., 14.05.2020 12:37)
- Не грузите топикстартера. Вы - звери :-) Крякнутый Keil (ну или
IAR) - то что доктор прописал. Остальное - потом, при желании :-). - il-2(15.05.2020 13:10)
- Ещё лучше кукос 1.7 и куча примеров от ST под 100рублёвую плату... - POV_(15.05.2020 18:55, , ссылка)
- тем более, что есть Кейл для начинающих. 32кбайт бесплатно. :-) - Лaгyнoв(15.05.2020 13:19)
- В целом согласен, но: evgeniy1294(362 знак., 14.05.2020 13:05)
- Не грузите топикстартера. Вы - звери :-) Крякнутый Keil (ну или
IAR) - то что доктор прописал. Остальное - потом, при желании :-). - il-2(15.05.2020 13:10)
- ИАР, даташит, RM, гитхаб, день спокойного чтения и легко заведутся заводить светляки, уарт и таймер. Из железа BluePill и пара STlink(гибнут они иногда) с али общей стоимостью в $5. Куб использую только для назначения ног в жирных корпусах. - Andreas(14.05.2020 12:12)
- Я тоже прыгал с AVR на STM32. Давно уже. Помню, основное, что
осложняло переход - другая организация в документации. Для AVR
даташиты были по принципу "все в одном" - единый даташит на
контроллер с описанием, электрическими параметрами и пр. il-2(453 знак., 14.05.2020 12:11)
- Если сегодня ты "пролечил" кейл, то не удивляйся, когда завтра
"пролечат" твою прошивку и тебя оставят без зарплаты. А ведь ничего
не мешало взять бесплатную сборку им. Klen'а. - fk0(14.05.2020 12:46 - 13:01)MBedder
- arm-none-eabi-gcc-10.1.0 уже в репах archlinux. Зачем нужен кейл за
тысячи $ - для меня загадка. - evgeniy1294(14.05.2020 13:00)
- Потому, что с бесплатным GCC -- ты оборванец красноглазый студент и
звать тебя никак. А с ворованным KEIL'ом -- уважаемый сеньор
специалист. - fk0(14.05.2020 13:16)
- ...на 5-литровом (ворованном или папином) Лексусе :)) - MBedder(14.05.2020 13:28)
- 5 литровый... игрушечный что ли? - BlackPrapor(14.05.2020 15:51)
- Нет, вот такой --> - MBedder(14.05.2020 17:51, ссылка)
- 5 литровый... игрушечный что ли? - BlackPrapor(14.05.2020 15:51)
- ...на 5-литровом (ворованном или папином) Лексусе :)) - MBedder(14.05.2020 13:28)
- Для старта иар проще. Разбираешься не с компилятором, линкером, стартапом, мейком, а с процом. - Andreas(14.05.2020 13:12)
- +100500 - MBedder(14.05.2020 13:04)
- Потому, что с бесплатным GCC -- ты оборванец красноглазый студент и
звать тебя никак. А с ворованным KEIL'ом -- уважаемый сеньор
специалист. - fk0(14.05.2020 13:16)
- При всём уважении к Клену, лучше брать официальную бесплатную
сборку. И даже там не первую попавшуюся. - SciFi(14.05.2020 12:48, ссылка)
- Чем лучше? Это какая-то новая религиозная вера? Я вообще считаю, что лучше самому собрать и gcc и newlib. И стартап/бутлоадер руками под свой случай поправить. По крайней мере будешь знать как оно собрано. А то, понимаешь ли, есть ньюансы. Вот у них там git-ы написаны (по твоей ссылке) -- оттуда клонируешь, переключаешься на нужный релиз (вот тут и начинаются ньюансы -- не факт что распоследняя версия тебе нужна, в ней масса новых багов -- я бы ориентировался на последнюю fk0(868 знак., 14.05.2020 13:13)
- Аргументы? - MBedder(14.05.2020 13:03)
- Юзверей больше. - SciFi(14.05.2020 13:19)
- Убедил. - fk0(14.05.2020 13:21)
- Юзверей больше. - SciFi(14.05.2020 13:19)
- arm-none-eabi-gcc-10.1.0 уже в репах archlinux. Зачем нужен кейл за
тысячи $ - для меня загадка. - evgeniy1294(14.05.2020 13:00)
- У пиков тоже организация (pic18 --> pic24) меняется. Ну и что? - fk0(14.05.2020 12:44)
- Если сегодня ты "пролечил" кейл, то не удивляйся, когда завтра
"пролечат" твою прошивку и тебя оставят без зарплаты. А ведь ничего
не мешало взять бесплатную сборку им. Klen'а. - fk0(14.05.2020 12:46 - 13:01)MBedder
- Самое простое - CubeMX запустить и там в режиме "поставь галочку,
где нужно" выбрать тип МК, его рабочие частоты и используемую
периферию. А дальше он сам сгенерирует проект, в котором будет и
рабочий код. Но после AVR тот код шокирует, т.к. впечатление от
него таково, как будто под операционной системой код написан - ни
одного обращения к регистрам нет - все действия производятся через
функции или макросы, к которым придется привыкать. Таймер заведется
сам, если при Kceния(319 знак., 14.05.2020 12:10, ссылка)
- А где ставить галочку, когда вся эта конструкция где-то сломается,
а? И ты вообще не понимаешь, как она работает. - fk0(14.05.2020 12:47)
- Отлаживать приходится как обычную программу, т.к. CubeMX генерит
лишь заготовку, а повторно по своему проекту запускать его стрёмно. - Kceния(14.05.2020 13:01)
- Ага, в которой такая вермишель говнокода, что проще с нуля всё
переписать. Быстрей. - fk0(14.05.2020 13:19)
- А что куб хуже гармонии? - abivan(14.05.2020 13:36)
- проект в килобайтах не влезает на винт. :-) - Лaгyнoв(14.05.2020 14:59)
- Не везде. В случае USB и периферийного вывода с поддержкой DMA
сложновато самой код сочинять, а то, что CubeMX генерит, работает
сразу. И выглядит оно, как будто драйвером пользуешься. Вы ведь не
ковыряетесь в коде драйверов на персоналке? Вот и тут приходится
доверять их работе, т.к. пользователей у них очень много, а потому
возможные ошибки были бы давно обнаружены. - Kceния(14.05.2020 13:27)
- вот ведь в свое время философский вопрос в компах - на каком уровне
самому писать программы? А то ведь народ строгал программки на
ассемблере х86, работал по абсолютным адресам регистров, на диске -
по номерам секторов прямо. Вот теперь и с МК начинают приучать. :-) - Лaгyнoв(14.05.2020 15:02)
- Сейчас в компах такого вопроса нет. Номера регистров -- тайна за
семью печатями, с NDA и угрозой расстрела. Есть лишь глюкавые
двоичные драйверы :-) - SciFi(14.05.2020 15:09)
- так я и намякиваю, что лет через ...дцать и с МК так же будет.
CubeMX и HAL - это только начало. :-) - Лaгyнoв(14.05.2020 15:47)
- Тогда это не МК, а адурина -- имя нарицательное уже. Лет ...дцать,
как с нами (ними?) - SciFi(14.05.2020 15:59)
- думаю, что точно не с нами. :-) - Лaгyнoв(14.05.2020 17:28)
- Тогда это не МК, а адурина -- имя нарицательное уже. Лет ...дцать,
как с нами (ними?) - SciFi(14.05.2020 15:59)
- так я и намякиваю, что лет через ...дцать и с МК так же будет.
CubeMX и HAL - это только начало. :-) - Лaгyнoв(14.05.2020 15:47)
- Сейчас в компах такого вопроса нет. Номера регистров -- тайна за
семью печатями, с NDA и угрозой расстрела. Есть лишь глюкавые
двоичные драйверы :-) - SciFi(14.05.2020 15:09)
- вот ведь в свое время философский вопрос в компах - на каком уровне
самому писать программы? А то ведь народ строгал программки на
ассемблере х86, работал по абсолютным адресам регистров, на диске -
по номерам секторов прямо. Вот теперь и с МК начинают приучать. :-) - Лaгyнoв(14.05.2020 15:02)
- А что куб хуже гармонии? - abivan(14.05.2020 13:36)
- Ага, в которой такая вермишель говнокода, что проще с нуля всё
переписать. Быстрей. - fk0(14.05.2020 13:19)
- Отлаживать приходится как обычную программу, т.к. CubeMX генерит
лишь заготовку, а повторно по своему проекту запускать его стрёмно. - Kceния(14.05.2020 13:01)
- А где ставить галочку, когда вся эта конструкция где-то сломается,
а? И ты вообще не понимаешь, как она работает. - fk0(14.05.2020 12:47)
- я взял плату Дискавери, скачал Кейл. Сначала без Куба, потом с
Кубом. Языка Си вообще никогда не знал. До этого - на Ассемблере
для 8-битника. Вот так и втянулся. :-) Сразу пришлось влезть в SPI,
I2C, USB OTG (с какой стороны USB - никогда до того не слышал).
Потом УАРТ. - Лaгyнoв(14.05.2020 11:43)
- Я специально выждал пару лет что страсти улеглись. Сейчас хочу
чужой опыт приватизировать. Кейл? а ИАР совсем не але!? А есть что
то же еще, компиляторы я имею в виду. Вообще для АРМ есть ИАР, Кейл
и GCC. К сож. я не погружаюсь глубоко в доки на компилер, все эти
особенности не изучаю. Хочу делать простые железки и зарабатывать
копеечку. - Tpoeшник(14.05.2020 11:51)
- IAR вполне годится (CubeMX позволяет выбирать, под какой компилятор код генерить). А если вы раньше с AVR на нем работали, то IAR будет лучшим выбором, т.к. всё в нем будет вам уже знакомо. А плату Discovery покупать не рекомендую, т.к. хотя эта плата заведется без проблем, но потом вам слезать с этой платы придется с большим трудом, т.к. CubeMX, прознав про эту плату, переопределит все пины МК в составе этой платы на идиотские имена и на этих же именах ее Kceния(24 знак., 14.05.2020 12:44)
- Улеглись? ARM был на волне хайпа в 2005, когда NXP выпустила свои LPC-чего-то-там за пару долларов с космическими, на фоне пиков и авр, возможностями. До некоторых почему-то дошло в последние несколько лет только, года STM32 начал демпинговать. Слоупоки. - fk0(14.05.2020 12:43)
- Я специально выждал пару лет что страсти улеглись. Сейчас хочу
чужой опыт приватизировать. Кейл? а ИАР совсем не але!? А есть что
то же еще, компиляторы я имею в виду. Вообще для АРМ есть ИАР, Кейл
и GCC. К сож. я не погружаюсь глубоко в доки на компилер, все эти
особенности не изучаю. Хочу делать простые железки и зарабатывать
копеечку. - Tpoeшник(14.05.2020 11:51)
- Хм, а стартовая точка какая? - VLLV(14.05.2020 11:31)
- Стартовая точка AVR. В принципе от ногодрыга до полных 65kB кода с
USB, бутлоадерами и прошивкой через rf сеть. Программист так себе
конечно: нет аккуратности, забиваю на контроль границ, ошибок и тп.
Но люблю говнокодить, возбуждает) Tpoeшник(134 знак., 14.05.2020 11:39)
- "Полные 65kB кода" на ARM могут быть очень быстро. Особенно, если это полноценный ARM, а не Cortex, где только thumb. Умножай где-то на 4 сразу при выборе контроллера. Нужно иметь запас ~100% по программной памяти и ~50% по ОЗУ. Кроилово -- ведёт к попадалову (вспоминается рассказ "последний байт", не могу найти текст). - fk0(14.05.2020 12:42)
- Стартовая точка AVR. В принципе от ногодрыга до полных 65kB кода с
USB, бутлоадерами и прошивкой через rf сеть. Программист так себе
конечно: нет аккуратности, забиваю на контроль границ, ошибок и тп.
Но люблю говнокодить, возбуждает) Tpoeшник(134 знак., 14.05.2020 11:39)