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

Re: Stm32 с чего начать изучение...

Пт фев 07, 2020 13:18:23

ARV, да элементарно сокет открой и пиши туда, что надо!

Re: Stm32 с чего начать изучение...

Пт фев 07, 2020 13:47:34

А я недаром вспомнил про OPC, на примере этого протокола можно проследить эволюцию в использовании других (обслуживающих OPC) технологий обмена данными. Кроме того сам по себе OPC по своему предназначению обладает сродством ПМСМ с решаемыми Вами задачами. А еще OPC XML DA и OPC UA, являются платформонезависимыми...

P.S. Я не предлагаю обязательно использовать, просто ознакомиться с логикой принятия решений.

Re: Stm32 с чего начать изучение...

Пт апр 17, 2020 17:51:50

Здравствуйте. Не так давно стал обладателем старенького stm32-discovery (stm32f100rbt6b), но с stm32 пока дела не имел. Стал гуглить на "stm32 быстрый старт" и так получил ссылочки на RadioKot и еще некоторые форумы. Сейчас пытаюсь разобраться с тем, каков минимальный набор для начала - информация + софт.

Из информации имею:
1. Много скачанного с stm.com (ANs, DSs), где есть часто упоминаемые здесь RM и PM:
- RM41;STM32F100-MCUs_(CD00246267).pdf,
- PM56;STM32F10xxx...CortexM3_ProgrammingManual_(CD00228163).pdf

2. Книгу "Yiu J. - The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors"
( А вот книгу "The Designer’s Guide to the Cortex-M Processor Family. A Tutorial Approach, Trevor Martin", которую тут упоминали, пока не нашел - может кто поделится?)см.(*) и (**)

Остается разобраться с тем, что за софт выбрать для работы.
Нужна IDE под разработку на C/C++, поддерживающая отладку ( :facepalm: ) через встроенный ST-Link или через свисток ST-LinkV2, не особо расфуфыренная в смысле пожираемых ресурсов (так как их сейчас не особо много), но все же достаточно развитая, чтобы не потребовалось потом переходить на что-то более годное. Пока выбор представлется как "IAR vs Keil", но возможно и что-то под Linux (я немного освоился с Ubuntu).

Прошу помочь мне советами!

P.S. А впрочем, может и инфу каку-то сочтете важным иметь на старте - буду признателен и за такие советы тоже!
(*)Даже на торрентах нетути! Буду признателен за экземплярчик - чисто, в ознакомительных целях, клянусь! :)))
(**)Сам дурак... :facepalm: Пока дочитал до 28-й страницы, забыл, что ув.dosikus давал ссылки и на книгу, и на сорцы к ней. Спасибо, dosikus! :beer:
Последний раз редактировалось Cap.NA Сб апр 18, 2020 06:30:50, всего редактировалось 2 раз(а).

Re: Stm32 с чего начать изучение...

Пт апр 17, 2020 21:14:00

Остается разобраться с тем, что за софт выбрать для работы.

За Keil не скажу, но про IAR могу. Относительно небольшой вес - около гигабайта. Очень мощные средства отладки, в сравнении с эклипсом. Примеры от ST идут с проектом IAR (Keil вроде тоже есть, а вот под Эклипс нет). Аскетичный отсталый редактор кода. Вот у меня сейчас большущий проект и последний иар - иногда на этапе билда повисает наглухо, убиваю через диспечер. Иногда любит глючить интерфейс - он состоит из редактора и окошечек проекта, билд лога, дизасемблера и т.д. Так вот - иногда при переключении писание-отладка эти окошки ведут себя непонятно как. Иногда пропадают, иногда прыгают. С этим у иара полный хаос. Но колется, а продолжаю грызть кактус.
Теперь о линуксе. Если не охота иметь мозго**ку с опен оцд, ручной правкой всяких мейкфайлов и прочими прелестями - ST выпускает бесплатную среду на основе эклипса - CUBE Ide. Она кросплатформенная, у меня в убунте работает. Она немного тормознутая в плане интерфейса - заметен микролаг какой-то, и если захотите поменять цветовую тему то вас ожидает адский-ад - там сотни цветовых настроек на все случаи жизни, и грамотно их настроить вручную это застрелиться. я забил. Ну и самый главный минус - ST не предоставляет файл проекта для своей же среды в комплекте с примерами. Собственно поэтому я экстренно спрыгнул назад на винду к ИАРу, чтобы иметь возможность поочередно запускать свой проект и пример и сравнивать что не так (у меня проект з езернетом, шифрованием и mqtt на H743).

Re: Stm32 с чего начать изучение...

Пт апр 17, 2020 21:31:31

Cap.NA, советую по гитхабу пошукать минимальный набор из Makefile, стартапа и линкер-файла. А уж потом наращивать это.
У меня таким образом постепенно всякая всячина накопилась.
А насчет IDE — это уж вопрос вкуса. Я много чего перепробовал, сейчас на qt-creator сижу. Единственный минус — оно написано на Qt. Но, скажем, в GTK'шном (тоже, кстати, не айс) geany нет такого количества полезных фич, как в qt-creator.

Re: Stm32 с чего начать изучение...

Пт апр 17, 2020 21:55:11

Я много чего перепробовал, сейчас на qt-creator сижу. Единственный минус — оно написано на Qt.

А анализировать стек может? А плагин отладки задач фри-ртос есть? А в отладке память напрямую позволяет просматривать? А точку остановки на ячейку памяти можно поставить? А регистры переферии можно смотреть?

Добавлено after 3 minutes 48 seconds:
Я сам пишу на Qt и очень хотел запустить стмки на нем, но дошло до того что я использую куб, а мейк-файл проект снерерированный кубом, криэйтор не может втянуть как проект, начинаются пляски с бубном. это полнейший треш.

Re: Stm32 с чего начать изучение...

Сб апр 18, 2020 05:52:24

[uquote="Ярослав555",url="/forum/viewtopic.php?p=3829113#p3829113"]А анализировать стек может? А плагин отладки задач фри-ртос есть? А в отладке память напрямую позволяет просматривать? А точку остановки на ячейку памяти можно поставить? А регистры переферии можно смотреть?[/quote]
Мне ничего этого не нужно. Возможно, плагин baremetal это умеет. Но зачем? Это бессмысленно!
Самое важное в IDE - автодополнение, быстрая навигация по коду, помощь в рефакторинге, статистический анализ кода. А всякие извращения вроде внутрисхемной отладки — это не дело IDE, этим дебаггер занимается. Запускайте gdb, коль вам так охота этой чушью заниматься, да отлаживайте на здоровье... У qtcreator есть интегратор и с gdb, и с валгриндом.

Re: Stm32 с чего начать изучение...

Сб апр 18, 2020 06:01:08

Вместо 1000 слов приложу проект мигалки светодиодом под крайние версии IAR, Keil и GCC (make под Win и Linux) сразу. Такого вы ни на одном гитхабе точно не найдёте. Ставь, запускай, пробуй, делай выводы и никого не слушай. Меня можно :)
STM32F100.ZIP
(166.38 KiB) Скачиваний: 208
Последний раз редактировалось VladislavS Сб апр 18, 2020 06:10:17, всего редактировалось 1 раз.

Re: Stm32 с чего начать изучение...

Сб апр 18, 2020 06:09:03

Распаковывать в корень диска, в другом месте ошибки при открытии проекта

Re: Stm32 с чего начать изучение...

Сб апр 18, 2020 06:14:58

Изображение
Не обязательно. Кто успел скачать, в скрипте линкера для Keil поправьте cortex-m4 на cortex-m3. Пропустил.
Untitled.png
(6.19 KiB) Скачиваний: 738


ЗЫ: В Iar и Keil ветка Debug настроена на запуск из SRAM. Для новичка самое то.

Re: Stm32 с чего начать изучение...

Сб апр 18, 2020 07:08:55

В Iar и Keil ветка Debug настроена на запуск из SRAM. Для новичка самое то.

Там RAM всего 8КБ, новичку даже printf не понадобится подключать чтобы превысить допустимый размер очень быстро :) Я достаточно часто делаю так:

Re: Stm32 с чего начать изучение...

Сб апр 18, 2020 07:50:02

Да с дуру то и хрен сломать можно :)

Re: Stm32 с чего начать изучение...

Сб апр 18, 2020 09:04:05

Мне ничего этого не нужно. Возможно, плагин baremetal это умеет. Но зачем? Это бессмысленно!

Сразу видно мощнейшего MBED-разработчика который не стесняется раздавать советы :)))
FREERTOS? А нафига?! LWIP стек? А чито это?! TLS шифрование? Что простите?! Мы здесь светодиодиком мигаем! Не нужон нам этот ваш дебагер!
Ой умора :)))

Re: Stm32 с чего начать изучение...

Сб апр 18, 2020 09:38:49

Ярослав555, ртось в наше время уж точно не нужна: есть недорогие чипы, куда и линукс полноценный поставить можно. Или просто купить orange pi и использовать ее для высокоуровневщины.
lwIP - дикая дрянь. И она тоже не нужна по озвученной выше причине.

Re: Stm32 с чего начать изучение...

Вс апр 19, 2020 06:53:21

В книге "The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors" есть пара глав, посвященных краткому описанию IDE'в Keil и IAR.
Оно неполное, конечно, но все же я сравнил эти описания (см.attachment) и, при общей похожести, есть следующие отличия:
Код:
Feature          Keil IAR
Сорцы библиотек   ?   v
Отладка в SRAM    v   ?
Code complete     ?   -
теперь хочу спросить у тех, кто знаком с Keil'ом и IAR'ом:
  • - прилагает ли Keil сорцы библиотек?
  • - есть ли у IAR'а отладка в SRAM?
  • - есть ли у Keil'а автодополнение кода?

Вчера прочел тему "Зоопарк IDE(среды разработки) для stm32..непонятно же!" и несколько раз встречал высказывания из серии "только Keil!", впрочем, в этой теме они мне тоже попадались (1, 2). Было время, я пользовал IAR (для AVR'ок) - тогда он мне весьма нравился, хотя редактор, в самом деле, был весьма отсталый - таким и остался? И, кстати, нравился, в числе прочего, и тем, что позволял "бесшовно" работать на границе asm'а и C. Нужно было только переключиться на первую версию call-фрейма. А тут встретил мнение "У IAR кстати инлайн асм никакой..." - если у Keil'а дела с asm'ом обстоят еще лучше, чем у IAR'а, то это здорово.

За Keil не скажу, но про IAR могу.
- Аскетичный отсталый редактор кода.
- иногда на этапе билда повисает наглухо, убиваю через диспечер.
- Иногда любит глючить интерфейс - ... при переключении писание-отладка эти окошки ведут себя непонятно как. Иногда пропадают, иногда прыгают.
Но колется - а продолжаю грызть кактус.
И что же перевешивает такой набор минусов, в пользу 'кактуса'?

Теперь о линуксе. ... ST выпускает бесплатную среду на основе эклипса - CUBE Ide.
Это не то же самое, что SW4STM32?
Прошу не судить строго - у меня инфы с st.com скачано аж на два DVD5 - пока не разобрался со структурой. Знаю, что там куча повторов, но причесывать долго, поэтому закатал на DVD в раскладке по ближайшим целям (f100, f407, ...) и на поиск/устранение дублей времени не тратил. Так, написал быстренько утилитку, чтобы нашла самые очевидные дубли и именно их оставил в одном экземпляре, но сидеть и корпеть 'тщательнЕе' не стал, уж очень времени жаль.
Так эта "бесплатная среда CubeIDE" - синоним SW4STM32? (st.com: "System Workbench for STM32: free IDE on Windows, Linux and OS X ")
На сайте как-то непонятно этот вопрос освещен - в полном списке "STM32 IDEs" этот SW4STM32 не указан, но поиск по сайту выдает его именно как 'free IDE ...' с теми же Eclips'ами и GCC'ами, спрятанными под капотом.

Cap.NA, советую по гитхабу пошукать минимальный набор из Makefile, стартапа и линкер-файла.
Я люблю путь джедая, но с моим нулевым, в области stm32, опытом, попробую есть этого слона по частям. А когда буду хорошо представлять себе общую картину, наверное, мне и в самом деле будет несложно ограничиваться спартанским набором инструментов. А ссыль на гитхаб - хорошая, спасибо! :)

VladislavS, за примеры проектов мигалки - низкий поклон! :)

Там RAM всего 8КБ,
Да, это так, но все же за пример ему спасибо - я собирался эту фичу изучить и использовать, по мере возможности. Ведь f100rbt6b - это только начало, я надеюсь. :)
Я достаточно часто делаю так: ..."Release_noAssert"...
Судя по "..._noAssert" - Вы пишете на SPL? Я вот тоже думал - а что если все эти Assert'ы поотключать - сильно код уменьшится?

Камрады, большое спасибо за предоставленные советы! Может еще и "начальники транспортного цеха" выскажутся... 8)
А я пойду покурю доки, так как явного перевеса в пользу к/л IDE пока не почувствовал. :solder:
Вложения
attachment.zip
Сравнение IDE'в
(15.33 KiB) Скачиваний: 147

Re: Stm32 с чего начать изучение...

Вс апр 19, 2020 07:58:18

Вот это поток сознания... Вам времени не жалко? За это время уже можно было всё поставить, попробовать, удалить и снова поставить.

Насчёт отладки в SRAM - я же проект выложил и акцентировал на этом внимание. Как можно было не сопоставить факты? Если процессор позволяет выполнять код из SRAM, то запустить в ней отладку можно из любой IDE.

Исходники библиотек то вам зачем? Что вы в них забыли?

Поменьше читайте всякие отзывы. Они предвзяты и чаще всего протухли.

Re: Stm32 с чего начать изучение...

Вс апр 19, 2020 08:28:45

Вот это поток сознания... Вам времени не жалко?
Люди мне отвечали, тратили свое время - было бы невежливо, обойти этот факт вниманием и ничего не ответить. :) К тому же, каждая мысль несет в себе часть истины. И это ценно.
За это время уже можно было всё поставить, попробовать, удалить и снова поставить.
Сначала - скачать, а уж потом ставить/ПРОБОВАТЬ/удалять. Фаза "пробовать" не зря капсом набрана - редко когда она бывает короткой. Но всё же Вы правы - что-то я много сомневаюсь... :)
Насчёт отладки в SRAM - я же проект выложил и акцентировал на этом внимание. Как можно было не сопоставить факты?
Точно, как-то я пропустил, что это к обеим IDE относилось... Прошу пардону! :oops:
Исходники библиотек то вам зачем? Что вы в них забыли?
Иногда полезно посмотреть - что-то находишь новое, а иногда - чтобы быстро набросать урезанную версию ф-ции для своих нужд. В общем, с ними лучше, чем без них. :)
Поменьше читайте всякие отзывы. Они предвзяты и чаще всего протухли.
Ну, пока я курю маны, почему бы и не ознакомиться с мнением тех, кто этот путь уже прошел? Одна голова - хорошо, а две - лучше!, разве не так? Но Ваш настоятельный совет помахать шашкой самому как можно скорее - принимаю! :)
_____
Пойду гляну, какие шашки сейчас в ближайшем доступе... :idea:

++:
Забыл важное обстоятельство пояснить - я уже неделю, как в постельном режиме нахожусь, потому всё больше читаю, а не пишу. :)

Re: Stm32 с чего начать изучение...

Вс апр 19, 2020 08:42:57

Нет лучшей или худшей IDE. Есть та в которой именно Вы умеете работать. Благо их для ARM вагон и маленькая тележка.
ИзображениеИ это не полный арсенал, Linux лень запускать.
ides.png
(53.92 KiB) Скачиваний: 601

Re: Stm32 с чего начать изучение...

Вс апр 19, 2020 08:51:15

Итак, на данный момент вижу в доступе:
IAR - версии 8.30 - она на двух гигах выживет? Есть еще помладше версии - 7.4, 7.5.
Keil - версия 5.23 - тот же вопрос про требовательность к ресурсам, или подскажите какую версию использовать на 32-бит/2гига.

Какие версии пробовать?

Re: Stm32 с чего начать изучение...

Вс апр 19, 2020 09:06:06

Какие версии пробовать?
Крайние. Только не говорите, что у вас XP.
Ответить