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

Re: STM

Чт сен 07, 2023 15:20:00

JackSmith, а это облегчит задачу или усложнит?

Re: STM

Чт сен 07, 2023 15:35:46

JackSmith писал(а):а F4 даже через usb.
да ладно, кинь мануалом, хочу попробовать :roll:

Добавлено after 13 minutes 23 seconds:
Короче фигвам получается, обновить как через UART неполучится, нужно сначала в проект файлики добавить USB хоста, а если камень голый то ничё не выйдет :(

Re: STM

Чт сен 07, 2023 15:43:14

Мне не плевать, мне необходима отладка кода + бесплатная IDE

Насколько я слышал Eclipse + gdb + openocd на это вполне способны. Но сам не проверял.
Ну точнее как. openocd + dgb к камню вполне цепляются, и отлаживать в стиле gdb (консольными командами то есть) вполне возможно. Но вот по Eclipse и другим средам разработки не подскажу.
>TEHb< писал(а):Так статья как раз и подтверждает, что с готовой платой проще начинать.

Так я и написал "кому как". Лично мне не нравится изучать новое семейство с готовых отладочных плат и прочей магии. Приятнее когда сам все с нуля сделал. И плату, и стартовый пример, и способ прошивки.
А кто-то любит наоборот, из волшебных Cube-иков все собирать, не понимая, как оно устроено внутри.
И плюсы есть у обоих подходов, как и, разумеется, у среднего. Тут уж, повторяю, каждому свое.
>TEHb< писал(а):Ну какой начинающий вот так походя с кондачка возьмёт и спаяет программатор?

Эм-м-м... Я? :)
Нет, если серьезно, переходник на UART так или иначе понадобится для отладки. А с ним на первых порах можно обойтись и без программатора. Потом да, проще купить, поскольку самостоятельное изготовление не даст какого-либо опыта (кроме разве что разводки и пайки плат). Ну мне еще "повезло" узнать про толщину текстолита.
Впрочем, напоминаю про программатор на ft2232h. Ничуть не хуже того же st-link, но плюс возможность использования по другим назначениям. Как переходник на rs232, как программатор для avr, как логический анализатор. Да даже в повседневном использовании совместно со своей платкой, если не хочется городить usb и тому подобные сложные интерфейсы.
>TEHb< писал(а):PS: у вас ссылка не работает.

То ли косяк форума, который к ссылке какой-то мусор добавил. То ли я как-то неправильно этим пользуюсь. Ладно, продублирую без тегов.
Трехмерка на stm32f103: https://www.youtube.com/watch?v=afyTgpuA6sc
USB на регистрах: https://habr.com/ru/articles/746704/ (там целый цикл, сама ссылка на составное устройство 2*CDC + флешка. На флешке все исходники - максимум опенсорса!)
Цикл о контроллере gd32vf103 - почти та же stm-ка, но на ядре risc-v. Рассматривается в первую очередь программная часть, с ассемблера. https://karakatitsariscv.github.io/
Рассказ о моих собственных первых шагах. Можно посмеяться над косяками, для того и писалось. https://habr.com/ru/articles/456280/
Asmodey писал(а):У STM еще выводы для переключения способов записи прошивок, что не всякий опытный радиолюбитель сразу прочухает.

Boot0, Boot1 что ли? А чего их чухать? Ну, по крайней мере, у меня с ними проблем не возникло. Еще когда изучал даташит и разводил плату, обратил внимание на странный вывод Boot0, не привязанный ни к портам, ни к периферии. Ну и поиск по тому же даташиту показал зачем он нужен и все варианты загрузок. Хотя накосячить все-таки сумел: не заметил, что stm не умеет по usb прошиваться, надо именно UART1, а на его ноги кнопку повесил.
А уж со всякими jtag, swd вообще не знаю какие проблемы могут быть. Разве что обилие несовместимых разъемов, но это тоже мелочь и решается шлейфом - переходником.
Asmodey писал(а):был несколько озадачен, когда на скорую руку развел и спаял макетку под какую-то STM32, воткнул в нее st-link, а оно не захотело прошиваться

И в чем оказалось дело? Если именно "не захотело прошиваться", а не "прошивка не стартовала", так с ходу и не представляю что там должно быть. Ну не ресет же забытый в самом деле.
кто-нибудь раскажите человеку, что stm32 можно прошивать через uart, а F4 даже через usb.

А надо было мою статью почитать :) ...у которой ссылка побиась...
Про stm32f4 не знаю, а вот gd32vf103 через usb прошиваться умеет. Команда
Код:
dfu-util -a 0 -d 28e9:0189 -s 0x08000000 -D firmware.bin
. Если я правильно помню, vid:pid можно не указывать, найдет само. Ну или для stm-ок заменить на тамошние. Стартовый адрес тоже можно не писать. Чуть подробнее здесь: https://karakatitsariscv.github.io/1.intro.html
JackSmith, а это облегчит задачу или усложнит?

Облегчит, конечно. Если вдруг камень переведен в какой-то режим, где jtag/swd не подхватывают. Например, интерфейс выключен программно, или просто сон. Вроде бы можно connect-under-reset, но можно и с Boot0 поиграться.
Ну и ту же gd32vf103 я и сейчас предпочитаю через UART шить, хотя возможность через jtag-программатор появилась. Просто когда изучал USB в stm32 случайно сделал как раз UART-программатор, способный дергать boot0, reset :) Ну не совсем случайно, конечно.

Добавлено after 2 minutes 48 seconds:
Короче фигвам получается, обновить как через UART неполучится, нужно сначала в проект файлики добавить USB хоста, а если камень голый то ничё не выйдет :(

Рефман с вами не согласен:
Embedded bootloader
The embedded bootloader mode is used to reprogram the Flash memory using one of the
following serial interfaces:
•USART1 (PA9/PA10)
•USART3 (PB10/11 and PC10/11)
•CAN2 (PB5/13)
•USB OTG FS (PA11/12) in Device mode (DFU: device firmware upgrade).
The USART peripherals operate at the internal 16 MHz oscillator (HSI) frequency, while the
CAN and USB OTG FS require an external clock (HSE) multiple of 1 MHz (ranging from 4 to
26 MHz).
The embedded bootloader code is located in system memory. It is programmed by ST
during production. For additional information, refer to application note AN2606.

Re: STM

Чт сен 07, 2023 16:32:48

вот только начинающему это вряд ли поможет. Каким макаром ему это облегчит? Вы как-то смотрите со своей колокольни, забыв, что когда-то всё в первый раз, притом, что и вообще с мк может быть первый раз, а не переход с 8 бит на 32, и не с ардуины притом.

Re: STM

Чт сен 07, 2023 17:02:04

вот только начинающему это вряд ли поможет. Каким макаром ему это облегчит?

Как поможет что? Возможность простым способом оживить контроллер после ошибки в коде? Возможность начать изучение вообще без программатора? Как по мне, это слишком очевидные вопросы чтобы на них отвечать.
Вы как-то смотрите со своей колокольни, забыв, что когда-то всё в первый раз, притом, что и вообще с мк может быть первый раз, а не переход с 8 бит на 32, и не с ардуины притом.

Ну, если бы вы читали мои посты, то знали бы, что я не просто помню свой первый опыт, но и описал его. Разумеется, знания AVR и работы без IDE помогли. Но не так сильно, как вы описываете. Скажем, неприятным открытием было разделение на даташит и рефман, необходимость писать какие-то стартапы, линкер-скрипты, отсутствие единой стандартной библиотеки, необходимость каких-то волшебных флагов компилятора. Но это особенности именно перехода, а не изучения с нуля, причем решаются поиском готового стартового кода.
---
Какие у вас были психологические травмы при переходе с ардуины я без понятия, я-то о самом ее существовании узнал гораздо позже того, как наигрался с AVR на ассемблере и даже после того, как дошел до перехода там же на Си. Впрочем, было бы интересно послушать вашу историю. Что у вас там с ардуиной случилось?

Re: STM

Чт сен 07, 2023 17:08:59

У меня нет психологических травм с ардуиной, не стоит фантазировать. Изучить внимательно Ваш личный опыт я обязательно постараюсь, но позже.

Re: STM

Чт сен 07, 2023 17:33:27

Asmodey, по поводу не-прошиваться.
Надеюсь вы не столкнетесь, но у камней stm32 есть еще одна замечательная фича - они могут не подключаться не потому, что у них заблокированы ноги SWD или чему-то еще, а банально (увы, вовсе не банально) потому, что имеется не согласованность кабеля с его ногами. Пару раз наступал и каждый раз было больно - улетало несколько часов на поиск ошибки, разблокировки-ли, возни с осциллографом, пока не приходило прозрение, что дело именно в кабеле. Причем, ни скорость соединения, ни длина шнурка качественно не влияли на наличие соединения. Вот так - кирпич, хоть как тыкай его иголками. Помогало согласование. Первый раз это было на плате F103, не помню какой. Потом на F030, и тут точно была моя плата. И, каждый раз в качестве отладчика ... ну да, куда без него - ST-Link v2 (китайский).
Потом сменил отладчик и проблема с подключением по SWD как-то сама рассосалась.

Re: STM

Чт сен 07, 2023 18:03:32

JackSmith писал(а):а F4 даже через usb.
да ладно, кинь мануалом, хочу попробовать :roll:

UM2237
пробовал на blackpill, надо зажимать ресет и бут при подключении по юсб

Re: STM

Чт сен 07, 2023 18:14:51

ST-Link v2 (китайский) не могу запустить на работе, а дома работает. Сначала не работал с Кубом, прошивал отдельно ST-LINK Utility, но когда захотелось отлаживать, то пришлось решать проблему. Куб ругался на английском, пришлось переводить и делать, что просят - всё заработало. На работе не работает по причине кривой винды.

Re: STM

Чт сен 07, 2023 18:35:06

COKPOWEHEU писал(а):Разумеется, знания AVR и работы без IDE помогли

Это уже очень далеко от уровня начинающего микроконтроллерщика. Так-то и я после АВР и СТМ смог за неделю разобраться с семейством 430, поморгать диодиком в качестве разминки, а потом считать прошивку с целевого устройства и поправить её прямо в машкодах, Могу рассказать, если хотите. Добавил вычитывание нужных констант из специальной области флеша, куда записывал потом свои константы для каждого экземпляра устройства. Да, в микроконтроллерах от техаса я новичок, это было моё первое знакомство, однако и не подумаю утверждать, что это легко и просто. Это потребовало от меня УЖЕ владеть огромным объёмом знаний и опыта.
Да и по-моему, проще разобраться как оно работает, если уже работает, чем понять почему оно не работает, если не работает. Так что я всё же за готовую отладку для начала. Позволяет сильно снизить порог вхождения. А уж свою плату всегда можно изготовить. Будет проще достичь этой высоты, если уже стоишь на некоторой ступеньке.

PS. Кстати, тоже с ардуинами познакомился гораздо позже, чем освоил АВРы. И мне она даже в чём-то понравилась. Ну то есть делать устройство на ней сложнее, чем на просто камне, но элементарные задачи типа сгенерировать два меандра разной частоты или засветить WS2812 делаются там весьма ловко. Но только задачи по-отдельности. Сразу две задачи уже могут не срастись вот так запросто.

Re: STM

Чт сен 07, 2023 19:29:54

Разумеется, знания AVR и работы без IDE помогли

А мне нет. Какой прок с того, что я когда-то в блокноте чего-то там корябал на асме под PIC16? Никаких ассоциаций с загрузчиком STM32 у меня с того не возникло, да и не могло возникнуть.

Re: STM

Чт сен 07, 2023 19:58:10

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

Но это же вы писали о негативном опыте после ардуины. У меня такого опыта быть не может в принципе, значит вы писали либо о своем, либо об опыте кого-то знакомого. Неужели не хотите поделиться поучительной историей?
u37 писал(а):потому, что имеется не согласованность кабеля с его ногами.

Что вы имеете в виду под несогласованностью кабеля с ногами? Как это должно проявляться и как с этим бороться?
В любом случае, мне кажется, что прошивка по UART (а она идет на скорости 52 кБод) должна сработать.
>TEHb< писал(а):Так-то и я после АВР и СТМ

После этих двоих вместе - возможно (про 430 ничего не могу сказать). Но от avr до arm тоже большая пропасть.
>TEHb< писал(а):Могу рассказать, если хотите

Если считаете, что это будет интересно для тех, кто с вашим контроллером никогда дела не имел, то конечно. А если нужны соответствующие знания, то, увы, не оценю.
>TEHb< писал(а):Так что я всё же за готовую отладку для начала. Позволяет сильно снизить порог вхождения

Так я и не спорю. Еще раз: я ведь описывал собственные прикючения, но не утверждал, что это оптимальный путь. Напротив, предостерег хотя бы от своих ошибок.

Re: STM

Чт сен 07, 2023 21:16:29

Но это же вы писали о негативном опыте после ардуины.
Разве? Вы умудряетесь читать между строк даже то, чего там нет... :))) Всё, что я писал негативного про Ардуино вообще где-либо, это то, что она портит начинающего, оглупляет его. Заняться ARM, да ещё с ходу с Вашей информацией после Ардуино, где совсем иной подход - это просто как прийти к первоклашкам и начать читать им "Теорию поля".

Re: STM

Чт сен 07, 2023 21:33:01

Martian писал(а):когда-то всё в первый раз, притом, что и вообще с мк может быть первый раз, а не переход с 8 бит на 32, и не с ардуины притом.
Вы умудряетесь читать между строк даже то, чего там нет... :)))

Угу. Еще скажите, что я сообщения на форуме подделываю.
Martian писал(а):Заняться ARM, да ещё с ходу с Вашей информацией после Ардуино
"Моя информация" к ардуине никакого отношения не имеет.

Re: STM

Чт сен 07, 2023 21:36:06

:facepalm:
Русфлот умывает руки. А Вам надо фантастические рассказы писать - фантазия +100500

Re: STM

Чт сен 07, 2023 22:04:23

Еще на старте с Cube, глядя на объем комп., думал, что оптимизации нет (default). Был прав: None (-O0) :ПП
-> STM32F030F4P6, RAM: 1.62KB 40.62% и FLASH: 7.6KB 47.49%
Ниже изменилось: Optimize for size: -Oz
-> STM32F030F4P6, RAM: 1.62KB 40.62% и FLASH: 4.62KB 29.27%

Установил и Keil. На данный момент конфигурации чипа осуществляю через STM32 Cube MX -> в Keil.
Вы были правы :wink:, думать про другое IDE (как Cube) забуду :). Как быстрые, обычные меню, о которых не нужно читать, но которые интуитивно понятны, настройки, программа, компиляция выполняются очень быстро (частично +транслейт).

Да, и обновил ST-Link через меню, сейчас Load: одной кнопкой. И Debug работает :tea:.
Изображение
Последний раз редактировалось veso74 Чт сен 07, 2023 22:19:48, всего редактировалось 4 раз(а).

Re: STM

Чт сен 07, 2023 22:12:33

А мне IAR очень понравился.

Re: STM

Чт сен 07, 2023 22:34:13

Папка проекта: 52.3 Mb, архив zip: 15.6 Mb.
Как обмениваетесь файлами проекта с друзьями? :)

Re: STM

Пт сен 08, 2023 02:12:37

закинул свежую книжку для студентов: https://sunduk.radiokot.ru/view/?id=1694116158
сам ещё не читал, так что, мнения нет... но на русском и так не так уж много книг, так что...

Добавлено after 1 minute 55 seconds:
Как обмениваетесь файлами проекта с друзьями? :)
ага... такая же печалька, и ещё надо быть уверенным, что там включено всё, а не где-то прописано что-то еще метров на 200-300 (что вполне может быть).
Скриншотами экрана, где код :)))

Добавлено after 3 hours 18 minutes 39 seconds:
И ещё одну по М3 докинул (странно, что её не было), ибо "Это руководство должно присутствовать на столе любоrо разработчика, использующего в своей работе микроконтроллеры с ядром CortexM3" https://sunduk.radiokot.ru/view/?id=1694127728

Re: STM

Пт сен 08, 2023 03:16:58

Сейчас более актуальны М23/М33. По ним есть неплохая книга того-же автора.
Ответить