Схема включения STM32H750

Есть заводская плата STM32H750 которая подключается по DFU и прекрасно программируется. Программирую мигание светодиодом. Решил попробовать спаять типовую схему включения STM32H750 с USB разъемом. Вывод D+ USB подключил к +3.3 вольта через 1.5 КОм. Не уверен что правильно подпаял данные для USB разьема, но выводы можно менять между собой. Мог попутать между собой выводы D+ и D-. Кнопку сброс подпаял как в типовой схеме при нажатии кнопки вывод NRST замыкается на землю. Кнопка BOOT на выводе 94. Если делаю как по типовой схеме (вывод BOOT через резистор в 10 КОм на землю и кнопку на +3.3 в) то выдает ошибку

Selected interface: dfu

STM32CubeProgrammer v2.18.0

Error: Target device not found.
Establishing connection with the device failed.
Не удалась загрузка: ошибка при загрузке: exit status 1

Если кнопку BOOT подключаю неправильно (вывод BOOT через резистор в 10 КОм на +3.3 в а кнопку между выводом BOOT и землей) то устройство находится но выдает ошибку стирания флеш.

Selected interface: dfu

STM32CubeProgrammer v2.18.0

USB speed : Full Speed (12MBit/s)
Manuf. ID :
Product ID :
SN :
DFU protocol: 1.1
Board : –
IAP
Opening and parsing file: STM32H750_Blink.ino.bin

Memory Programming …
File : STM32H750_Blink.ino.bin
Size : 18.39 KB
Address : 0x08000000

Erasing memory corresponding to segment 0:

Error: failed to erase memory
Не удалась загрузка: ошибка при загрузке: exit status 1

Кто может подсказать в чем может быть моя ошибка ?

Скорее всего у тебя 0й сектор флеша защишен от записи. Попробуй подключится через ST-Link

Скажите мне, зачем?

1 лайк

кто его защитил и когда?

Откуда ж мне знать. Я его историю не отслеживал. Это ведь не мой чип.

Вот тут вроде была такая же проблема.

Попробовали частоту с 4000 КГц снизить до 950 КГц.Возможно чип купил не оригинальный.

@Buldakov , хотелось бы всё-таки получить ответ вот на этот вопрос:

1 лайк

Схему выложу вечером. Есть подозрение что я какое то питание забыл подключить. 1 картинка когда на кнопки ничего не нажимаю. 2 Картинка нажимаю кнопки Boot и NRST а затем отпускаю NRST и затем BOOT.

это говорит о том, что вывод BOOT0 притянут к питанию, и ты попадаешь в DFU.

Похоже вопрос решился. Кнопку BOOT повесил не на землю а на питание и все заработало. Вопрос конечно интересный, почему раньше не работало. Я так делал уже несколько раз до этого и не работало. Похоже нашел почему не работало раньше и заработало сейчас. Только непонятно почему так работает.

Когда не работало: Я программировал напрямую через Arduino.

Когда заработало: Захожу в CebeProgrammer. Нажимаю найти устройство. Открываю файл прошивки и нажимаю Download. После этого написало что все запрограммировалось но светодиод не мигает. Захожу в Arduino и нажимаю загрузить в плату. После этого микросхема прошивается и светодиод начинает мигать. Почему так все сложно я пока не знаю.

я повангую, что кнопка вот такая и ты прицепился вот сюда

1 лайк

STM32H750 через ардуино ??