22.02.2019, 14:29
|
|
Временная регистрация
Регистрация: 20.02.2018
Адрес: в минске
Сообщений: 82
Сказал спасибо: 3
Сказали Спасибо 41 раз(а) в 20 сообщении(ях)
|
STM32 Quick start
Господа и товарищи!
Вот решил я заняться STM32 просто для расширения кругозора. С продукцией STM имел дело, когда они еще были SGS-THOMSON. Зашел на сайт ST в раздел Software - а там, грубо говоря, ни хрена - ссылки в хрен те что. Вот и спрашиваю: чем программить этого зверя? Про HAL и CUBE читал много плевательских комментов, что оно, мол, для домохозяек, а я вроде уже не совсем. Симуляторы для STM32 есть ?
А залить прогу можно через ST Link ?
Вот движется из Кетая стартовая платка, хочу подготовиться к встрече с ней
|
|
|
|
22.02.2019, 15:53
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
|
Re: STM32 Quick start
Симулятор есть вроде как есть в Протеусе, в новых версиях. Я сам не пользуюсь симулятором, поэтому точно сказать не могу.
Программируютчя при помощи ST-Link. Он бывает либо отдельно, либо в составе фирменных отладочнвх плат - Discovery, Nucleo.
Для старта предпочтительна именно такая плата.
ST-Link представляет собой преобразователь между USB и SWD. SWD - это последовательный синхронный полудуплексный интерфейс, предназначенный как для программирования целевого МК, так и для его отладки (можно смотреть состояние МК в целом, всех его регистров, и даже управлять микроконтроллером вручную без кода).
HAL и SPL - это набор открытых исходников, выполненные как сишные функции для работы с периферией. CubeMX - автогенератор кода, использующий HAL.
Никого переубеждать в ту или иную сторону не собираюсь, скажу лишь то, что автогенератор и HAL могут облегчить квик-старт, но для профессиональных целей не годятся из-за их изначально неоптимальной, тяжеловесной конструкции, да и стиль написания таков, что заслуженно вызывает плевки и нецензурщину у профессионалов. Хотя с успехом используется у людей, которые не утруждают себя глубокими познаниями. Из-за этого как раз и возникает большинство проблем типа "помогите, не могу отправить байты через SPI".
Основной же библиотекой является стандартный CMSIS (в простонародье называется "писать на регистрах"). На этом же CMSIS написан и HAL тоже.
Если вы с Китая заказали плату, то она может быть без STLinka. Обычно в погоне за дешевзной, покупают без программатора. Есть множество китайских плат самой разной конфигурации, никто их не стандартизировал. Поэтому, уточните, что есть на вашей плате. Встроенный ST-Link можно опознать по отдельной микросхеме STM32F103 и разъему USB.
Программная среда - Кейл, Атолик, Эклипс - большой разницы нет. Атолик официально бесплатен без ограничений и урезаний. Кейл бесплатен только для линейки F0.
Программная среда является и отладочной средой. Вы можете пошагово проходить и наблюдать многие процессы.
В инете есть огромное число ресурсов по началу работы с STM32, в том числе и видеоуроки на ютубе. Раньше, в период до примерно 2015 года в основном примеры шли на CMSIS. Затем, с появлением хала и куба, число домохозяек выросло непомерно, и большинство примеров идет на HAL.
Какой путь изберете вы - это дело только ваше. Здесь можно сравнить с древними притчами о выборе пути. Решайте сами.
Последний раз редактировалось NewWriter; 22.02.2019 в 16:04.
|
|
|
|
22.02.2019, 17:15
|
|
Вид на жительство
Регистрация: 08.12.2018
Сообщений: 466
Сказал спасибо: 2
Сказали Спасибо 105 раз(а) в 71 сообщении(ях)
|
Re: STM32 Quick start
Сообщение от NewWriter
|
Никого переубеждать в ту или иную сторону не собираюсь, скажу лишь то, что автогенератор и HAL могут облегчить квик-старт, но для профессиональных целей не годятся из-за их изначально неоптимальной, тяжеловесной конструкции, да и стиль написания таков, что заслуженно вызывает плевки и нецензурщину у профессионалов. Хотя с успехом используется у людей, которые не утруждают себя глубокими познаниями. Из-за этого как раз и возникает большинство проблем типа "помогите, не могу отправить байты через SPI".
|
угу. на этой неделе запускал w5500 через spi.
готовые примеры - на этом хале есть.
рылся я в них неделю по вечерам. так ничо и не понял.
плюнул, раскурил даташит на spi и на w5500
код для приема нескольких байт через сеть занял 100 строчек.
при том что до оптимальности моему коду как до китая раком - ну просто накидал на скорую руку чтоб понять работает эта микра как я понимаю или нет.
работает.
далее код можно ужать аза в 2 точно.
на хал примере там страниц 20 а то и больше.
|
|
|
|
22.02.2019, 17:47
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,121
Сказал спасибо: 2,569
Сказали Спасибо 11,944 раз(а) в 5,991 сообщении(ях)
|
Re: STM32 Quick start
Сообщение от NewWriter
|
Из-за этого как раз и возникает большинство проблем типа "помогите, не могу отправить байты через SPI".
|
Наверное, типа таких?
https://kazus.ru/forums/showthread.php?t=118212
Я пользуюсь Кубом. Не могу сказать, что пользуюсь ХАЛом, только его инициалиацией, остальное, в основном, свое.
Кто-то здесь видел мои сопли по поводу "не работает"? А среди "нелюбителей калокуба" - посмотрите раздел. Может, не ХАЛ или еще кто-то виноват, а мозги надо тренировать и прикладывать в нужное место?
Куб сильно помогает. Генерит готовую "рыбу" проекта. Потом - хозяин - барин. Про свое использование уже сказал и считаю его оптимальным (пробовал разные варианты).
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
22.02.2019, 18:30
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
|
Re: STM32 Quick start
Да, именно об этом я тоже хотел написать, но не стал. Но раз уж всплыло - напишу. Есть еще и такие люди, которые считают, что сделав иниты через автогенератор, они вышли из категории домохозяек. На самом деле, это не так. Написать инит - это самое простое, что можно сделать! Серьезно. Например инит уарта, спи, таймера и тому подобных вещей занимает не более 10 строк, если писать самому.
Профессионал тем и отличается, что у него уже есть готовые "рыбы" проектов, составленные именно так, как ему нужно.
CubeMX составляет очень своеобразную и неудобную "рыбу", которая годится лишь для тех домохозяек, которые просто не умеют готовить собственные блюда.
Вот знаешь, чем отличается профессиональный повар от домохозяйки? Домохозяйка готовит по рецептам, даже если они не очень вкусны. Профессиональный повар же умеет сам создавать рецепты, и в приготовлении блюд имеет свой почерк.
И да, akegor, специально для тебя есть ОТДЕЛЬНАЯ ТЕМА - вот пройди, плиз, втуда, там и высказывайся. Та тема специально отделена для тебя и тебе подобных. А здесь - не мешайся, здесь - тема, свободная от сектантов Хала.
Последний раз редактировалось NewWriter; 22.02.2019 в 18:37.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо NewWriter за это сообщение:
|
|
|
22.02.2019, 18:51
|
|
Временная регистрация
Регистрация: 20.02.2018
Адрес: в минске
Сообщений: 82
Сказал спасибо: 3
Сказали Спасибо 41 раз(а) в 20 сообщении(ях)
|
Re: STM32 Quick start
Спасибо, ребяты. Вот есть уже начальная инфа. Жаль, что невольно вызвал полемику меж сторонниками и противниками. Так как в моем "багажнике" более 40 лет программерского стажа (правда, на других платформах), думаю, "подпорки" не понадобятся.
Плату из Али заказал приблизно за 1.8$, с бесплатной доставкой (всего за 0.67$ ), там есть микроUSB разъем, и если прошит загрузчик, можно будет прошивать терминалкой, похоже. ST Link тоже заказал за смешные деньги (бутылка сухонького).
Пожуем - увидим, как сказал тигр про нового дрессировщика.
Последний раз редактировалось Jack_A; 22.02.2019 в 18:54.
|
|
|
|
22.02.2019, 19:05
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
|
Re: STM32 Quick start
Ммм.. Наверняка плата, именуемая STM32 Blue Pill, вот такая?
у нее нет ст-линка. Программировать и отлаживать придется через внешний "свисток"-стлинк, подключаемый к четырем выводам с торца. Вобщем то, пойдет, можно и так.
Микро-юсб - это для построения юсб-девайса силами целевого микроконтроллера.
Кстати, выполнив поиск картинок по STM32 Blue Pill, вы легко найдете более подробную распиновку платы, что облегчит процесс "въезжания" в тему.
https://wiki.stm32duino.com/images/a...pillpinout.gif
Последний раз редактировалось NewWriter; 22.02.2019 в 19:08.
|
|
|
|
22.02.2019, 19:19
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
|
Re: STM32 Quick start
Jack_A, "если прошит загрузчик" - для STM32 неверное утверждение в части "если". Он прошит на заводе и при правильном сочетании BOOT0 и BOOT1 для заливки прошивки достаточно установленного на плате USB-UART адаптера. Программа для этой цели есть на сайте. ЕМНИП даже с исходниками.
Сам родной загрузчик недоступен для изменения и не занимает места в памяти при обычной работе.
Выбранный Вами вариант - видимо Arduino nano на STM32F103C8T6, так что для Вас ещё и оболочка arduino для старта доступна .
Внешний STLink потребуется только для отладки - перезалить прошивку можно и через USB при правильной установке двух перемычек BOOTx на плате.
PS А плат таких нужно было взять не одну - на них удобно параллельно работать с разными вариантами при изучении
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
Последний раз редактировалось mike-y-k; 22.02.2019 в 19:23.
|
|
|
|
22.02.2019, 19:40
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,121
Сказал спасибо: 2,569
Сказали Спасибо 11,944 раз(а) в 5,991 сообщении(ях)
|
Re: STM32 Quick start
Сообщение от NewWriter
|
вот пройди, плиз, втуда
|
"Не говорите мне, что делать и я не скажу, куда... !"(слова народные)
NewWriter, говорил не Вам, а вопрошающему, так что, не напрягайтесь.
Сообщение от NewWriter
|
здесь - тема, свободная от сектантов Хала.
|
Человек ищет свой путь, и не надо ему мешать. Почему-то, сектанты всегда воинственны - не от чувства ли своей ущербности?
Сообщение от NewWriter
|
CubeMX составляет очень своеобразную и неудобную "рыбу", которая годится лишь для тех домохозяек, которые просто не умеют готовить собственные блюда...
|
Чистейший снобизм кой-чо познавших. Хорошо, что не все такие.
Сообщение от Jack_A
|
Жаль, что невольно вызвал полемику меж сторонниками и противниками.
|
Просто недержание у сектантов, не обращайте внимания.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
22.02.2019, 20:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,653
Сказал спасибо: 117
Сказали Спасибо 815 раз(а) в 592 сообщении(ях)
|
Re: STM32 Quick start
Цитата:
|
Программа для этой цели есть на сайте. ЕМНИП даже с исходниками.
|
Вряд ли. Она только одна, на гитхабе лежит. stm32flash называется, ЕМНИП.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:56.
|
|