STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3758855#p3758855"]Что-то тут не так. Надо первой командой устанавливать: WR=0, нужное значение DC и Data(Cmd). Второй командой ставить WR=1, а остальное пусть остаётся старое. Так без всяких линий задержки должно работать.[/uquote]
Кстати да, по скорости так действительно лучше будет, главное потом не забыть сбросить DC если захочется передавать данные при помощи DMA :)

ps. Но у себя так не буду делать, потому что не использую F1 и быстрее будет писать только данные в половинку порта, а DC сбрасывать при значительно более редких обращениях к регистрам дисплея.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7019
Зарегистрирован: Сб янв 28, 2006 22:47:24

Сообщение Asmodey »

[uquote="afz",url="/forum/viewtopic.php?p=3758451#p3758451"]Попробуй запустить с нажатым Ресетом. Код чужой прошивки, естественно, работает неправильно и, похоже, отключает что-то из отладочных средств, из-за чего ST-link перестает работать. Запуск с Ресета позволит запустить ST-link, не выполнив ни одного байта из кода чужой прошивки.[/uquote]
Только сейчас дошли руки до макетки с этим МК. Замутил ресет, МК тут же определился, стерся и зашился по новой правильной прошивкой. afz, спасибо. Нужно ST-Link_ом с линией NRST для STM32 обзавестись.
Астролябия-сама меряет, было бы что мерять!!!
Реклама
afz
Опытный кот
Аватара пользователя
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Сообщение afz »

Asmodey, вот так можно доработать обычный китайский ST-link. Там, правда, предлагают отсоединять "лишние" (продублированные) ноги +3.3 и +5В, а я, по-простому, откинул ноги для STM8 (как бы не те, которые автор этого материала использовал первоначально). И еще момент. Совсем тонкий МГТФ (там у него, как бы, не МГТФ 0.03) сейчас хрен найдешь, я, по-простому, воспользовался обычным обмоточным проводом в эмалевой изоляции - мне попался под руку ПЭТВ-F 0.2, но это, сам понимаешь, некритично. Дополнительный плюс - МГТФ - многожилка, которая норовит разползтись при пайке на вывод SMD-компонента, а обмоточный провод сплошной...
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Друг Кота
Аватара пользователя
Сообщения: 7019
Зарегистрирован: Сб янв 28, 2006 22:47:24

Сообщение Asmodey »

Да, так и думаю сделать. Нужно только еще пару свистков заказать, а то этот единственный пока и ковыряя его рискую остаться без отладчика. Еще есть J-Link, но у меня с ним не сложилось пока. Просто времени не было разбираться с джейлинком.

Еще вот что. Когда только "запорол" МК в поисках по гуглу наткнулся на инфу, что STM32 имеют два уровня защиты от считывания прошивки. Если я правильно понял, то защита второго уровня лочит микроконтроллер наглухо и запрещает даже стирание и перепрошивку, превращая его в одноразово программируемое устройство. Это так?
Последний раз редактировалось Asmodey Чт янв 02, 2020 20:24:07, всего редактировалось 1 раз.
Астролябия-сама меряет, было бы что мерять!!!
Реклама
Эиком - электронные компоненты и радиодетали
afz
Опытный кот
Аватара пользователя
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Сообщение afz »

А я тебе сразу говорил, заказывай, хотя бы, пару. :)
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7019
Зарегистрирован: Сб янв 28, 2006 22:47:24

Сообщение Asmodey »

Да у меня так получилось, что сразу на нехилую сумму всего заказал. И все равно запланированного бюджета на все не хватало, пришлось урезать свои хотелки в пользу самого необходимого. Вот и второй свисток урезался...
Астролябия-сама меряет, было бы что мерять!!!
Реклама
Открыл глаза
Сообщения: 79
Зарегистрирован: Пн дек 19, 2016 10:20:28

Сообщение PombI4 »

Недавно начал изучать ARM, в связи с этим возник вопрос - совместимы ли средства отладки одного производителя с чипами другого?
К примеру, у меня имеется в наличии программатор/дебагер Atmel ICE, который позволяет работать с ARM чипами Atmel (Ну, теперь уже Microchip)... А подойдет ли он для ARM чипов скажем STM или NXP?
Я как бы хочу все унифицировать и по возможности уйти от ПО и средств разработки производителей и использовать их только как вспомогательные средства. В данный момент использую GNU Toolchain для ПО. А вот как быть с железом? Не покупать же под каждого производителя свой программатор/отладчик... Или придется?
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="PombI4",url="/forum/viewtopic.php?p=3782198#p3782198"]Недавно начал изучать ARM, в связи с этим возник вопрос - совместимы ли средства отладки одного производителя с чипами другого?
К примеру, у меня имеется в наличии программатор/дебагер Atmel ICE, который позволяет работать с ARM чипами Atmel (Ну, теперь уже Microchip)... А подойдет ли он для ARM чипов скажем STM или NXP?[/uquote]
Встречный вопрос: зачем начинающему сразу армы от Atmel, STM и NXP? Тем более если у тебя уже есть AVR и STM8, причем этот STM8 подключен к полтора баксовому ST-Link(что видно на скрине в твоем старом сообщении) поддерживающем и STM32... А вообще даже этот ST-Link поддерживается не во всех средах разработки под STM32, так что хотя аппаратно отладчики от Atmel должны уметь работать с любыми кортексами, но в большинстве сред, если не во всех, они все равно работать не будут.
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

PombI4 писал(а):Не покупать же под каждого производителя свой программатор/отладчик...
У вас не найдется 100 рублей на ST-Link? https://aliexpress.ru/wholesale?SearchT ... =price_asc
PombI4 писал(а):В данный момент использую GNU Toolchain для ПО.
Без IDE? Чем шьете и отлаживаете? Или только собираетесь? На хабре недавно вышла статья, посмотрите если хотите. https://habr.com/ru/post/485514/
В ней про прошиватель и отладчик. Но нужен ST-Link.
Открыл глаза
Сообщения: 79
Зарегистрирован: Пн дек 19, 2016 10:20:28

Сообщение PombI4 »

Я не писал, что я начинающий. Я написал, что начал изучать ARM. Это как бы слегка разные вещи :)...
Давно на работе кодил под Freescale'овский проц, под Freescale'овским же IDE. Но то было давно.
Дома накопилось много чего от AVRок, в т.ч. тот же Atmel Ice. Но Атмел стал негуманен по цене.
Поэтому решено было переключить внимание на STM. В т.ч. и на ARM. Соответственно есть кое что и для него. Но поддерживать знания в актуальном состоянии для нескольких разных IDEшек, это накладно. Хочется золотой середины и универсальности.
То же самое и с железом.
Вопрос не в 100 рублях, а в обилии платохлама на столе и в шкафу. Зачем использовать разные инструменты, если можно пользоваться одним.
В качестве IDE использую Eclipse. Всякие конфигураторы/профилировщики от производителей по возможности. Но есть желание минимизировать их.
В качестве доступного железа экспериментирую пока на Raspberry без ОС. В шкафу лежит Arduino Due и STM Nucleo F413ZH...
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

PombI4 писал(а):В качестве IDE использую Eclipse.
Наверное уже привыкли к неспешности IDE?
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

Есть микроконтроллер gd32f130c8t6, как понял под них можно писать в любой среде для stm32. Проект конфигурирую в кубе обычно. Как быть с gd32? Какие есть подводные камни при работе с gd32?
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

daaar, прошить его st-link'ом при помощи утилиты st-flash точно не удастся без патча утилиты. Я уже пытался и с GD32 и с CS32 (подсунул, зараза, китаец в "синей таблетке" вместо STM32 эту дрянь). В итоге плюнул, выпаял и выкинул гадость, а вместо нее впаял STM32.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

Там вроде какие-то резисторы со 100 кОм меняют на поменьше и все начинает прошиваться... ? Где-то читал про это.
Станислав
Друг Кота
Аватара пользователя
Сообщения: 7083
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

я столкнулся (c CS32) только с тем что памяти в нём ровно столько, сколько заявлено (а не в 2 раза больше как у стм32ф103с8т6) хотел в паяльник вставить его - код считанный с STM в CS не влез... (шил штатным стлинком) прошиться прошился, но верификация не прошла (выше заявленной памяти закономерно читаются нули).
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

То есть танцы с бубном не обязательны?
Контактная информация:
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Сообщение a797945 »

STM32F103 вопросик по таймеру TIM1
может кто объяснить такой момент с таймером TIM1 - RM0008 стр.328 Figure 95
сигнал на линиях OC1,OC2,OC3 показан пачками - откуда берется эта "нарезка", начало и завершение импульса(пачки) - вроде понятно от куда, но почему импульс "нарезан", почему не такой же как OC1N,OC2N,OC3N ?

поспешил с вопросом
прочитал свой же вопрос - и кажется сообразил: "нарезается" содержимым ARR и CCR1 таймера TIM1.
ну вот и зацепочка, голову ломаю - как выводить определенное кол-во импульсов (больше 255).
Вложения
F95.jpg
(85.78 КБ) 208 скачиваний
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

Обьясните неопытному. Я до этого только в иаре работал, там с режимом все было проще - включаешь С или С++ и оно весь проект компилит в выбраном режиме.
Но в эклипсе все не так. Ситуация такова, что мейн у меня .с, а поскольку до этого проект в иаре писался с использованием с++ классов, то работу с ними, в часности инициализацию, пришлось вынести в отдельную функцию в отдельный .срр файл.
Так вот - программа из мейна переходит в с++ инит, а вот назад вернуться не может - после ретурна исполнение улетает черт знает куда.
Думал дело в коде - закоментил все, осталась пустая функция, и ситуация повторяется.
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

А в хидере с определением cpp-шного init-а, который подключается в main.c, есть extern "C" сотоварищи?
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

у срр-шного файла есть hpp-шный файл, где объявления функций обрамлены extern "C". этот хидер уже подключен в .с файл.
я этот прием линковки и не применял никогда: видел, но иару было фиолетово - он не смотрит на расширение файла и компилит все в С++, а куб себе спокойно работает с .с файлами. А тут с эклипсом все по взрослому. Я в начале и не обрамлял ничего и у меня не хотело собираться. Потом вспомнил про эту штуку, по шаблону добавил - собралось, думал все ок, но не заработало. Вчера вечером уже начал изучать вопрос, но после командировки глаза слипались. Если дело определенно в этой стороне, ну ок тогда - подтяну теорию, глядишь разберусь.
Ответить

Вернуться в «ARM»