Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Чем и как можно запрограммировать FLASH STM32F407
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
NickS
Делаю плату с STM32F407
Встал вопрос какой разъем предусматривать для программирования.
Места мало.
Обязателен ли JTAG?
На плате есть USB. Достаточно ли?
Вроде бы процессор позволяет программировать
через USB и UART.
Однако, какими програмами?
На страничке на сайте ST для STM32F407 таких програм нет.
Подойдут ли программы от STM32F207 или STM32F103?

Кто нибудь работал с STM32F407
Не с Девеловеркитами на которых програмирование через JTAG
а используя для загрузки USB или UART.

scifi
А чем SWD не угодил? Всего две линии: SWDIO, SWCLK. Есть софт: ST-LINK Utility.
IgorKossak
STM32 and STM8 Flash loader demonstrator не пробовали?
Несмотря на то, что в списке поддерживаемых Ваше семейство не числится, соответствующие конфигурационные файлы в папке инсталляции имеются.
NickS
Цитата(IgorKossak @ Apr 3 2012, 16:22) *
STM32 and STM8 Flash loader demonstrator не пробовали?
Несмотря на то, что в списке поддерживаемых Ваше семейство не числится, соответствующие конфигурационные файлы в папке инсталляции имеются.

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

Цитата
А чем SWD не угодил? Всего две линии: SWDIO, SWCLK. Есть софт: ST-LINK Utility.


Тем что надо дополнительный разъем.
А плата очень маленькая.
А USB разъем уже есть.
Если USB будет недостаточно
Буду выискивать варианты ставить JTAG/SWD
scifi
Цитата(NickS @ Apr 3 2012, 17:06) *
Но мне надо знать наверняка.
А попробовать я не могу.

Сам я не пробовал, но в интернете есть упоминания о том, что у кого-то работает прошивка через USB (DFU):
How to develop for STM32 discovery boards using Linux

Цитата
I successfully flashed an image onto an STM32F4 Discovery from GNU/Linux last night using http://gitorious.org/~tormod/unofficial-cl.../dfuse-dfu-util

You need to jumper BOOT0=VDD, BOOT1=PB2=GND, and reset with the micro-usb connected. You will find a DFU Bootloader active on the micro-usb. And tormod’s dfuse-dfu-util will flash the STM32F4-Discovery_Demonstration_V1.0.0.dfu image from the Project/Demonstration/Binary folder of stm32f4discovery_fw.zip
Sanya_kv
Только что проверил Flash loader demonstrator через СОМ, STM32F2xx и STM32F4xx программируется без проблем (Перед программированием выставить boot0 в "1", boot1 в "0", нажать reset, или сбросить по питанию)
NickS
Цитата(Sanya_kv @ Apr 6 2012, 16:10) *
Только что проверил Flash loader demonstrator через СОМ, STM32F2xx и STM32F4xx программируется без проблем (Перед программированием выставить boot0 в "1", boot1 в "0", нажать reset, или сбросить по питанию)


Спасибо.
Cвинец
Здравствуйте! Подскажите, пожалуйста, как понимать следующую фразу из документации:

USART3_RX (PB11), USART3_RX (PC11) pins must be kept at a high or low level during the detection phase

На этом этапе ведь программно управлять контроллером нельзя, получается, что если прошивать через UART1, то на UART3 надо аппаратно через резистор подать землю или питание? 10k нормально будет? Или вообще что-то другое имеется в виду? sad.gif
hd44780
Линию RX ВСЕГДА надо pull-up-ить. Вне зависимости от типа проца и того, кто с этим UART работает.
Это стандарт.
Резистор - любой - 1к..10к. По-моему, непринципиально.
Cвинец
Большое спасибо, буду знать.
DmitryM
Цитата(hd44780 @ Jun 27 2014, 07:25) *
Линию RX ВСЕГДА надо pull-up-ить. Вне зависимости от типа проца и того, кто с этим UART работает.
Это стандарт.

Хм. Никакой это не стандарт. Практически все преобразователи RS232-TTL содержат в себе Pull-down (5 кОм) по входу RS232, что автоматически приводит к высокому уровню на TTL-RX.
scifi
Цитата(Cвинец @ Jun 27 2014, 06:31) *
На этом этапе ведь программно управлять контроллером нельзя, получается, что если прошивать через UART1, то на UART3 надо аппаратно через резистор подать землю или питание? 10k нормально будет? Или вообще что-то другое имеется в виду? sad.gif

Да, нужно притянуть к постоянному уровню, иначе возможна смена уровня на стадии детектирования, и загрузчик может за это зацепиться и перейти в нежелательный режим. 10К - вполне нормально.

Цитата(hd44780 @ Jun 27 2014, 08:25) *
Линию RX ВСЕГДА надо pull-up-ить. Вне зависимости от типа проца и того, кто с этим UART работает.
Это стандарт.
Резистор - любой - 1к..10к.

Не надо плодить суеверия. Да, нежелательные перепады на этой линии могут добавить головной боли, но бороться с таким явлением можно отнюдь не только резистором. К тому же 1К - это слишком радикально.
hd44780
Может где-то и есть, может где-то и нет.
Лучше поставить, чем потом мучительно искать ответ на вопросы типа "почему UART дурит".... Особенно, если к этому UART ничего не подключено.
Что нередко бывает, если преобразователь RS232 не является частью устройства или UART используется для некоего межпроцессорного обмена между блоками, один из которых может отсутствовать.

Программатор на UART - именно такой случай. При обычной работе устройства его нет, а ноги уарта почти наверняка висят в воздухе.
Aner
6 пинов (включая питание, землю) т.е. SWD родной, дешёвый ST-LINK/V2, их же прога DfuSe ( сейчас версия v3.0.3) и все. Грузите свой писанный загрузчик (если потяните то и криптованный), и далее, без напряга, через USB рабочую прогу (так же криптованную можно). Все семейство STM32F обесечивается этим. Сделал так и со 103 по 429, несколько законченных серийных проектов трудятся успешно. За абдейты не беспокоюсь.
DmitryM
Цитата(hd44780 @ Jun 27 2014, 10:09) *
Может где-то и есть, может где-то и нет.
Лучше поставить, чем потом мучительно искать ответ на вопросы типа "почему UART дурит".... Особенно, если к этому UART ничего не подключено.


А включить internal PullUp в микроконтроллере религия не позволяет? Схемотехник на то и схемотехник, что должен учитывать висящие входы.
Aner
QUOTE (DmitryM @ Jun 27 2014, 11:18) *
А включить internal PullUp в микроконтроллере религия не позволяет? Схемотехник на то и схемотехник, что должен учитывать висящие входы.

Это вы так можете умничать где-то вначале пути освоения PullUp в микроконтроллере. Не везде их применишь, есть большая куча причин, а потом, из-за того что пожалел резистор 0402 или 0603 платы переделывать, оч накладно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.