Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

STM

Вс сен 03, 2023 16:24:21

Добрый день всем!
Прошу помощи.
Подскажите пожалуйста где можно скачать IDE под STM32?
Какой лучше?
И какие небудь материалы по среде типа что она может и как этим пользоватся...
Вобщем что для этого нужно. Ранее я не знаком с ними.
Знаком с Atmel Studio 6.0 " AVR "
Я так понимаю что там совсем другая история.

Re: STM

Вс сен 03, 2023 17:18:34

где можно скачать IDE под STM32?
Какой лучше?
Про "лучше" - это вкусовщина.
А так:
Cube IDE на сайте https://www.st.com/content/st_com/en/stm32cubeide.html
Keil uVision на сайте https://www.keiluvision.com/
IAR Embedded Workbench на сайте https://www.iar.com/products/architectu ... h-for-arm/

Re: STM

Вс сен 03, 2023 17:26:16

ну и, наверное, SEGGER Embedded Studio https://www.segger.com/products/develop ... ed-studio/ (Free non-commercial use under SEGGER's Friendly Licensing)

На сайте ST обычно перечисляются производители ПО для конкретных линеек мк

Re: STM

Пн сен 04, 2023 11:24:49

Начал с STM32, практически "с нуля". (Не считая использования STM32 через Arduino IDE и STM32duino).
На данный момент оставил установленными: STM32Cube, Coocox. Далее Keil uVision и IAR для теста.

STM32Cube сильно "вылетает", хочет интернет и независимо от internet скорость и быстрый компьютер, все хочет и скачивает файлы. Проблема особенно с меню начальной визуальной настройки. Не мог понять, как иногда 10 раз подряд все идет ОК, после 1 часа и 50 попыток заставка не создается. Я зарегистрирован, вошел в систему с user и pass.

Другое, что меня беспокоит: blink по PA4 в STM32030F4P6 готов и ... занято ~30% flash и ~22% RAM :shock: . Будет ли так с потреблением ресурсов?
Интересно, хватит ли 16 kB напр. для проекта с LCD, энкодером, кнопками и управлением на одном чипе (или купить с большие ресурсов ... и smd 100 pins ...). С другими МК проект напр. "собирается" в flash 3,5 kB / 2 kWords и РАМ 224 bytes в "бедный старый убогий" PIC16F628A :) и есть место и для будущих дополнений.

Затем для обмена проектами между коллегами, друзьями. В папке проекта находится множество файлов и папок, напр. около 12 МБ в архиве. Это для blink! Что сохранять, а что можно удалит? Какие файлы я должен дать моему другу запустить проект на своем компьютере? В общем, по аналогии с Arduino, "чистый" AVR и PIC (с файлами только из проекта: часто: один или два файла) тут какой-то "беспорядок" :).

Дайте пожалуйста рекомендации по организации работы. Понятно, что идем по этому пути. И нет простого пути :).

Re: STM

Пн сен 04, 2023 12:33:39

veso74, для ARM сейчат два пути программирования : 1) с библиотекой HAL 2) без библиотеки HAL, т.е. на регистрах как в AVR
я бы посоветовал начать изучение с програмирования на CMSIS, т.е. на регистрах. т.к. наше бущее - это китайский чип-пром, а STM уходит в жо#у. медленно, но верно.

Re: STM

Пн сен 04, 2023 13:05:43

китайский чип-пром налепил уже кучу клонов ST, да и будущее неизвестно, да и HAL - это не только ST... а ещё есть http://stm32asm.ru/ ;)

Re: STM

Пн сен 04, 2023 14:13:50

Да, есть несколько параллельных тем о STM.

Для начала купил 1-2-5 штук нескольких типов STM8/32. Сегодня запускаю Coocox, ищу очередной МК в меню: STM32G030F6P6, для очередной blink. И ... буква G там нет. A CoIDE начал мне нравиться ...

С PIC MK, с тем компилятором, который использоваю, работа та же: или чип нет в компиляторе, или не могу записать с имеющимися программаторам.
Deja Vu с STM :) .

Re: STM

Пн сен 04, 2023 15:51:09

veso74, 1) ARM он 32-битный, т.е. все метки, указатели, и адреса будут больше чем у 8-битников.
2) не имеет значения сколько занимает код, т.к. флеша "овер дофига". это не 8-битники в которых каждый байт экономишь.
главное чтобы код быстро работал.
3) не забывайте, что в ARM таблица векторов дай боже, и все вектора прерываний 32-битные.
4) настройка тактирования, которую вы вероятно сами не пишете тоже занимает место.

в качестве минимилистичноей IDE можете посмотреть SW4STM32
https://imgur.com/a/2Zst9TF
простой блинк на HAL занимает 3KБ
пустой "main.c" будет 1KБ, куда войдет таблица векторов и стартап.

Re: STM

Пн сен 04, 2023 16:39:34

Спасибо, посмотрю.
... простой блинк на HAL занимает 3KБ.

Это круто :) ...
А я привык к другому варианта: blink на C: ROM used: 53 words (0%), RAM used: 5 (0%) (PIC16)

На данный момент из-за настроек конфигурации по STM32, даже для простых проектов, у меня нет нервов :).
Вероятно, с STM останусь на Arduino IDE с STM32duino.

Re: STM

Вт сен 05, 2023 10:12:36

я бы посоветовал начать изучение с програмирования на CMSIS, т.е. на регистрах.

Поддерживаю. Правда, для старта придется поискать чей-то чужой блинк без всего этого мусора. Дело в том, что в stm32 в отличие от восьмибиток приходится писать свой стартап код, обычно на ассемблере. Если в этом опыта нет, и изучать неохота, лучше взять готовый. Потом, когда опыт появится, можно будет и полистать. Но в целом, стертап это не та вещь, в которую приходится лазить.
Martian писал(а):китайский чип-пром налепил уже кучу клонов ST, да и будущее неизвестно
Что-то сомневаюсь, что эти клоны поддерживаются ST-кубом и ST_HAL.
А на счет будущего - так потому и надо изучать с начала, а не с конца, чтобы при переходе на другое семейство не было паники и ступора. Сейчас вон RISC-V популярность набирают. Причем gd32vf103 совместим с аналогичным arm-ом как по ногам и большей части периферии (только регистры и биты переименовали), так и, внезапно, по программированию. Если кому интересно, я даже писал по нему цикл статей с самого начала.
А вот wch пока не радуют. То есть сами камни вкусные, но вот чем их по-нормальному программировать, пока непонятно. Но, наверное, и это решаемо.
JackSmith писал(а):1) ARM он 32-битный, т.е. все метки, указатели, и адреса будут больше чем у 8-битников.

Не настолько. Я видел блинк для stm32f103 размером то ли 50, то ли вообще 20 байт. Правда, там уже начинались хаки. А дефолтный вроде пол-килобайта занимает. В основном на таблицу векторов прерываний. Их там полсотни, и каждое 4 байта занимает.
JackSmith писал(а):2) не имеет значения сколько занимает код

До определенного предела. К тому же, в ST-HAL разрастание кода идет не ради оптимизаций, а ради абстракций ради абстракций. Десяток функций, перекладывающих одни и те же параметры друг другу безо всякого изменения и смысла. В такой ситуации больше кода это больше инструкций контроллеру выполнять. На Хабре проскакивала статья по USB на ST-HAL, что автору не удалось выжать заявленную скорость. А вот с человеческими реализациями все работало как надо.
Плюс не забываем, что иногда в код надо положить большое количество данных. Совсем недавно я делал демонстрационный пример составного USB устройства - два COM-порта плюс "флешка". И на "флешку" удалось запихнуть и описание, и прошивку самого контроллера, и даже исходники. Размер исполняемой части составил что-то около 10 кБ, плюс около 30 кБ пожатых исходников. А вот для стандартных библиотек места уже не хватило, они около мегабайта занимают, даже архивация не спасла.
veso74 писал(а):На данный момент из-за настроек конфигурации по STM32, даже для простых проектов, у меня нет нервов

Так может, попробуете risc-v? Для именно "попробовать", могу попробовать обеспечить вам удаленный доступ к стенду с gd32vf103. Только все же сначала ознакомьтесь немного с материалом, чтобы админа попусту не дергать.

Re: STM

Вт сен 05, 2023 10:48:51

Я хотел потихоньку начать портировать некоторые собств. коды, написанные во времени: на Arduino, "чистый" AVR, STM8/32 через STM32duino, PIC (CCS) и еще неск. типов MK/модули, импортировани в Arduino IDE, все на C/C++, где коды во многом совместимы (мне важен алгоритм устройства, а не напр. управления регистров, I2c, SPI и т.д. конкретным МК). Хотел, чтобы была другая альтернатива для STM. Но с IDE/compilers STM получилось для меня регресс/трата времени/ (на данный момент) с этими бесконечными чтениями и варианты и взятием чужых кодов хотя бы на блинк! Должен начать думать по-другому :). А думал, что переход будет легким, вероятно это могло оказаться невозможным. (частично пользуюсь переводчиком)

Re: STM

Вт сен 05, 2023 11:15:34

veso74, stm32 и восьмибитники - это разные МК в плане выполняемых задач. для примера: цветной дисплей с 60 фпс вы не получите в AVR, а с монохромным дисплеем stm32 будет простаивать большую часть времени. более менее соответствуют восьмибитникам F0/G0 серия STM32. Хорошие штуки в самом деле. И на них действительно можно писать на регистрах с стиле 8-битников, с отладкой и классным редактором кода, который настроишь под себя. но блинк все равно будет 800-900 Байт просто из-за таблицы векторов, настройки тактирования, и программной операции деления.

Не настолько. Я видел блинк для stm32f103 размером то ли 50, то ли вообще 20 байт.

да ну, баловство. я такое делал в bare metal. практического сиысла это не имеет.

Re: STM

Вт сен 05, 2023 11:26:53

Мой вопрос не би был, если било 800-900 байт. Оно РАМ 38% и FLASH 32% (7 LED и HAL) (STM32F030F4P6).

Re: STM

Вт сен 05, 2023 12:04:19

veso74, Blink на регистрах для F030 = 784 байта флеша, и 8 байт оперативы:
https://i.imgur.com/9qgHwED.png

Re: STM

Вт сен 05, 2023 13:35:30

Конечно так. Здесь: ближе к АСМ. А использую HAL.

Мне так не приходилось до сих пор писать МК под regs, кроме как для особых целей, напр. скорость. Если поменяем тактовую частоту на другую, снова пересчитаем 600000? Вероятно да, но для небольших проектов. В других IDE C ближе к "человеческому письму"/английскому языку. Даже в повсюду "оклеветеное" Arduino IDE, которую все и так используют, уже даже в коммерческих целях. Что даже начали копировать.

Просто на каждом шагу в STM вперед вижу препятствие.
Будем адаптироваться. Или забуду о STM IDE/компиляторы легче всего :).

Изображение,
Изображение

Re: STM

Вт сен 05, 2023 18:12:02

Установил я "Куб" и начал по тихоньку его изучать.
Дошло дело до программатора. Но вот беда. Кубик его не узнаёт.
Сажу сразу что программатор покупался на Алике. St-Link V2 .
Что можете посоветовать в данной ситуации?
Искать программатор?

Изображение Изображение

Добавлено after 5 minutes 19 seconds:
Изображение Изображение Изображение

Re: STM

Вт сен 05, 2023 18:30:21

Обновить его до новой версии

Изображение

Не использую Cube. потому не могу сказать, чем там. Утилита идет в комплекте к ПО для 8-битных: https://www.st.com/en/development-tools/stvd-stm8.html

Re: STM

Вт сен 05, 2023 18:43:37

Connect under reset - что, уже всё настолько плохо? Если вы не удолбали интерфейс SWD, а куб это любит, то верните нормальный режим SWD.
Как простая мера - на boot0 тестового MCU подайте 1 и перегрузите с этим. Потом проверяйте подключение отладчика.
Наверно вы не в курсе, запомните - вывод "reset" на отладчике выводом reset не является. Это reset_STM8 и на нормальных MCU не работает. Придется вам, как всем, работать без reset (и без функции Connect under reset), а посему берегите ноги SWD. Если при воспалении жадности вы их переназначите, начнется цирк с конями. Не трогайте их, себе дороже выйдет. Если не хватает функционала, лучше реализовывать несколько функций на других ногах, но к этим не прикасаться.

К слову, если собираетесь переносить софт с других платформ на stm32, то лучше этого не делать. На stm32 другой стиль программирования, переносить на него ногодрыг - получите кривой AVR и ничего иного. Здесь надо научиться мыслить иначе, ключевое слово "DMA". Посему лучше сразу взять G-ую серию stm32, чтоб не переучиваться. Либо F0 (хуже), но, главное, не F1-2-4, особенно не F1. Зря потраченное Ваше время.

Re: STM

Вт сен 05, 2023 18:50:22

Ничего не понял...

Re: STM

Вт сен 05, 2023 18:53:53

aleksey chilov, и у меня не подключается к программатору. Обновил ST-link. Снова не сработало. Пока глубоко не вникал в причину, а использую STM32 ST-LINK Utility как вн. софт для записи. Работает быстро, без проблем: взять файл из папки Debug -> хх.hex или хх.bin и записать.

Не забудьте в меню Project -> Properties -> C/C++ Build -> Settings -> Tool Setting -> MCU Post build options вкл. Convert to BIN и Convert to HEX.

Изображение
Ответить