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

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

Пн дек 09, 2019 20:56:54

Здравствуйте! Помогите пожалуйста, только-только сел за STM32 с AVR... Спаял платку для STM32F100RBT6, вывел SWD интерфейс. Программатор: STLINK/V2. Для пробы решил через STM32CubeIDE настроить ножку через их графический конфигуратор, сгенерировал код и залил в камень. Вроде всё было хорошо и прошивка залилась. Но потом с какого-то момента (не уловил с какого, настраивал только одну ножку, т.е. никуда абсолютно больше не лез) при прошивке стало показывать ошибку: DEV_TARGET_UNDER_RESET. Данная ошибка говорит о том, что кнопка Reset на плате нажата. Хотя проверял: кондер не закорочен, емкость есть, кнопка исправна, нигде ничего не коротит. В общем попробовал на крайний случай отрезать ножку от кнопки к МК. Не помогло. Всё то же DEV_TARGET_UNDER_RESET.
Попробовал STM32CubeProgrammer. Там есть выбор режимов при подключении: Normal, Hot Plug, Under Reset. Также есть Reset Mode - здесь я перепробовал все варианты, ничего не помогает. Если поставить режим (Mode) Hot Plug, то проиходит соединение с МК, виден его сериный номер, размер памяти и т.п. Но если попытаться залить прошивку (заливаю .elf файл, сгенерированный STM32CubeIDE) то вылазит ошибка:

Спойлер
Код:
22:41:25 : Opening and parsing file: 3.elf
22:41:25 : File : 3.elf
22:41:25 : Size : 4612 Bytes
22:41:25 : Address : 0x08000000
22:41:25 : Download in Progress:
22:41:39 : Error: failed to download Segment[0]
22:41:39 : Error: failed to download the File


Если попытаться стереть память, то во всех случаях получаем ошибки, содержащие: Error: Mass erase operation failed.Please verify flash protection.
Перехожу в Option Bytes, считываю значения: RDP не выставлен, т.е. Unchecked: Flash Memory is non read-protected.
Если попытаться выставить флажки на WRP0...WRP31 и применить, то это ничем не заканчивается, программатор начинает бесконечно прошивать МК.

Блин... как теперь удалить этот позор?) Попросил кота пошкрябать дорожку к RESET от кнопки как следует и всё прошло) Только вот не ясно теперь.. Неужели это кондёр пробило?
Последний раз редактировалось khamai Пн дек 09, 2019 21:40:32, всего редактировалось 1 раз.

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

Пн дек 09, 2019 21:39:37

Куб по умолчанию отключает SWD интерфейс. Тебе надо либо подключить ресет к программатору, либо нажать его рукой при установке соединения, либо переключить ногу boot0 чтобы залитая прошивка не стартовала.

Программисты куба могут очередную звезду на борту рисовать :)

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

Пн дек 09, 2019 21:45:09

Куб по умолчанию отключает SWD интерфейс. Тебе надо либо подключить ресет к программатору, либо нажать его рукой при установке соединения, либо переключить ногу boot0 чтобы залитая прошивка не стартовала.

Программисты куба могут очередную звезду на борту рисовать :)


Да я BOOT коротил на 3.3 - не помогало. В том то и дело, что куб SWD не отключил. Дело было именно в кнопке...
Последний раз редактировалось aen Вт янв 21, 2020 21:17:48, всего редактировалось 1 раз.
Причина: Нарушение Правил форума п. 2.7

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

Сб дек 14, 2019 20:45:29

Всех приветствую!
Хочу повторить устройство с сайта http://avr-start.ru/?p=3471#more-3471
Компилятор пока не освоил ни грамма.
Если есть у кого возможность, откомпилируйте пожалуйста проект, чтобы просто кекс загрузить в stmку.
Благодарю!

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

Сб дек 14, 2019 22:48:23

Сериг лови
2.zip
(5.59 KiB) Скачиваний: 188

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

Вс дек 15, 2019 08:40:19

А разве выложенное там \test_nokia\test_nokia\Debug\bin>test_nokia.hex не годится?

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

Пн дек 16, 2019 18:21:46

А разве выложенное там \test_nokia\test_nokia\Debug\bin>test_nokia.hex не годится?

Благодарю!

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

Пн дек 16, 2019 23:49:41

Вопрос - как настроить (на STM32F1) складывание результатов АЦП в массив байтов?

Сейчас настроено следующим образом:
- выравнивание результата АЦП - вправо (получается в регистре АЦП DR число по маске 00000FFF).
- буфер АЦП - массив int16_t значений на N ячеек. Получается, каждый запуск АЦП складывает числа в массив по маскам: 0FFF, 0FFF, 0FFF...., по достижении конца массива - начинает сначала.
- DMA настроен в режиме HalfWord периферия, HalfWord память, адрес периферии ADC1->DR, адрес памяти - начало массива.

Всё прекрасно работает при таких настройках.

Но хочется попробовать сэкономить память на буфере DMA и обойтись массивом uint8_t значений и, соответственно, 8-битной точностью АЦП (т.е. нужны только часть битов результата 00000FFF)

То есть, нужно, чтобы старшие использовались только старшие 8 бит результата измерения и складывались в очередную 8-битную ячейку массива.

Первое, что приходит на ум - выравнивание влево, т.е., чтобы результат в DR был по маске 0000FFF0.

Вопрос, как заставить DMA класть в 8-бит ячейку памяти именно эту часть результата, а не младший байт? Потому что в режиме 16->8 DMA вроде как именно младший байт берёт

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

Вт дек 17, 2019 00:10:51

Вопрос, как заставить DMA класть в 8-бит ячейку памяти именно эту часть результата, а не младший байт?

Никак. На всех остальных сериях, кроме F1, можно выбрать 8-ми битный режим для самого ADC.

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

Вт дек 17, 2019 06:30:02

А нельзя ли применить адресацию к старшему байту ADC->DR как к GPIOx->ODR? Я вот так пишу в старший байт GPIOB->ODR данные для 8ми битного дисплея #define LCD (*(__IO uint8_t *)((uint32_t)&(GPIOB->ODR) + 1))

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

Вт дек 17, 2019 07:23:17

Я вот так пишу в старший байт GPIOB->ODR данные для 8ми битного дисплея
На F1 такое не прокатит.

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

Вт дек 17, 2019 07:27:58

Как бы на пилюле 103c8 дисплей nokia3230 работает.

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

Вт дек 17, 2019 07:35:35

Открываем RM
СпойлерИзображение
Вложения
gpio.png
(125.14 KiB) Скачиваний: 272

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

Вт дек 17, 2019 07:40:41

Ну хорошо, а с ADC->DR так читать можно?

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

Вт дек 17, 2019 07:49:26

Читаю RM вслух, дорого! Раздел 11.12.

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

Вт дек 17, 2019 08:00:13

Я читал RM. Наверное с доступом это не документированные особенности, так как дисплей работает. На старшем байте шина данных,на младшем WR,энкодер,кнопки и EPROM.

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

Вт дек 17, 2019 08:09:41

Как писал М.Н.Задорнов, у русских есть три степени запрета:
1. Запрещено. Это не для меня.
2. Строго запрещено. Надо посмотреть, что же там такое.
3. Категорически запрещено. Ну это уж точно нельзя.

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

Вт дек 17, 2019 08:15:29

Повторю,а с ADC->DR так читать можно?

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

Вт дек 17, 2019 08:19:34

Повторюсь, раздел 11.12.

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

Вт дек 17, 2019 08:36:03

Sergi, кто вам мешает попробовать? Если в хардфолт не уйдет, то "и так сойдет"…
Мне все-таки непонятно, зачем так извращаться? Настраиваем к ADC нужные каналы DMA, да берем себе данные. У меня на нескольких железяках так опрос работает: в буфер uint16_t с размером 9*[количество каналов] DMA автоматом забивает данные с АЦП. Мне по мере необходимости остается лишь выдрать нужные 9 чисел и сделать быструю медианную фильтрацию. Вуаля!
Ответить