Одна из SWD'шных ног сожжена статикой? Можно проверить и поногодрыжить…
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Значит, остается лишь грепать по всем исходникам флаги отключения SWD/JTAG: вполне возможно, что с копипастой из старого кода, оно где-то пролезло.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Вывел на экранчик железки, которую делаю, состояния некоторых регистров. 1) GPIOA->MODER для SWD в состоянии альтернативной функции как по умолчанию для порта А. 2) RCC->APB2RSTR->DBGMCURST = 0 3) RCC->APB2ENR->DBGMCUEN = 1 - включал вручную, так как по умолчанию был выключен 4) DBGMCU->CR = 6, изменение значения на работу не влияло
Вроде бы с SWD больше ничего не связано. Программирование остаётся всё равно только под ресетом.
А как насчет альтернативной функции? Что в GPIOA->AFR[1]? GPIOA->PUPDR? Посмотри в мануале табличку 25 в разделе 9.4.12 (GPIO register map and reset values). И нет ли защиты?
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Последний раз редактировалось Eddy_Em Ср июн 15, 2022 16:11:18, всего редактировалось 1 раз.
Serj_K, если вы прошиваете через ST-Link Utility, тогда в его настройках (Settings) переключите режим соединения на Hot Plug и режим сброса выберите Software System Reset (не обязательно). Потому что если назначение пинов PA13, PA14 не менялось, то подключение по SWD "на ходу" без сброса производится отправкой особой комбинации сигналов. Для этого программатор-отладчик должен быть переключен в соответствующий режим. IDE обычно самостоятельно это делает. Либо, если через IDE прошиваете, то в ее настройках проверьте подобный режим
Up2805, спасибо, с Software System Reset даже в нормальном режиме коннектится нормально. Теперь хоть прошивать можно без аппаратной кнопки сброса. Жаль, что BlackMagik пока не заработал. Если не заработает, придётся перенастраивать отладку под ST-Link, а он мне меньше нравится, так как не хавает китайские псевдо-стмки. Вообще ситуация странная. Порт А был изначально настроен и отладка работала, а потом без перенастройки порта отладка отвалилась. Попробую разобраться в процессе работы.
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Ср июн 22, 2022 18:22:26
Потрогал лапой паяльник
Карма: 8
Рейтинг сообщений: 54
Зарегистрирован: Вс мар 03, 2019 08:18:34 Сообщений: 350 Откуда: Волгоград
Рейтинг сообщения:0 Медали: 1
всем привет пол дня убил пол дня на энокодер, купленный в чипе новый но валялся давно, так и не смог его нормально запустить а оказалось что с ним что-то не так он в одну сторону ведет себя как нормальный энкодер а в другую у него почему то совпадает старт фронта, я и во и так и так пока понял что дело то в бобине .... тут еще кокой то прикол кайл мой почему-то не запускает прерывания таймера на котором энкодер, я че тока не делал и HAL и LL и CMSIS. Потом этот же проект компилирую под CUBIDE и там все заработало сразу не пойму раньше такого не было, я его недавно скачал с оф. сайта через vpn, может кто сталкивался?
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Чт июн 30, 2022 10:59:17
Потрогал лапой паяльник
Карма: 8
Рейтинг сообщений: 54
Зарегистрирован: Вс мар 03, 2019 08:18:34 Сообщений: 350 Откуда: Волгоград
Рейтинг сообщения:0 Медали: 1
Всем добра строи все свой бп на мк набросал уже почти программу осталось только настройка. Скажу несколько слов в защиту не любителей халакуба, пытался запустить обычный ацп на мк f373с применением библиотеки LL, на регулярном канале все быстро заработало а вот на ижекционном(прошу извинить за мой французский) ничего так и не заработало переписал инициализацию вручную и все очень быстро заработало. Так что самый большой плюс куба скорость в данном случае как то сильно пострадали, вот и выходит что лучше бы вручную все прописывал меньше времени ушло бы... Ну да бог с ним двигаемся дальше Спрошу тут, т.к. не знаю как разбить вопрос и отправить его часть в "питание". У меня будет вполне себе обычная схема БП коих на просторах интерната много т.к. 2 операционника управляют одним или более транзисторами, один отвечает за ток другой за напряжение. Вот только опорное напряжение будет формировать МК от поворота энкодера, это я уже все запрограммировал и сам себя МК меряет нормально, т.е. АЦП меряет выход ЦАП. Теперь вопрос стоит об измерение на выходе, думки у меня такие как обычно операционник и МК ну тоесть вариант 2, но тут мучают всякие нехорошие мысли у сигма-дельта АЦП можно вывести оба вывода в наружу и + и - а еще и можно включить усиление в 32 раза вот и думаю о варианте 1, но тут возникнет другая проблема как защитить выводы МК хватит ли этого коэф.... Что скажут знатоки?
есть такой вопросик. можно ли уговорить компилятор более активно использовать адресацию со смещением? (F103, Keil.v5, C (не плюсы), оптимизация -время) Конкретизирую: в обработчике исп. 9 адресов (2 переменные, 3 рег. SPI, 4 рег. TIM1) компиль только для трех из них исп. обращение по смещению. или альтернатива только вставка asm? сейчас мне пока не критично, но на будущее заинтересовал этот вопрос. (в рабочее время выхода в тырнет не имею, если что отвечу только вечером) Спойлер
ковыряю один из клонов stm32 на m4f. обработчик прерывания таймера завершается кодом:
Код:
TIM4->SR &= ~(0x01);
проблема в том, что флаг прерывания не снимается с первого раза. прерывание отрабатывает по два раза. поставил барьерную инструкцию DSB после упомянутого кода, заработало как надо. это нормальное поведение для STM32? кто-нибудь сталкивался?
Нормально. Барьер не нужен, нужна задержка. Просто переместите команду очистки флага ближе к началу обработчика прерывания. А саму команду я бы упростил до записи нуля.
Нормально. Барьер не нужен, нужна задержка. Просто переместите команду очистки флага ближе к началу обработчика прерывания. А саму команду я бы упростил до записи нуля.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения