|
|
  |
STM32 странности при запуске. не вижу зависимости MEM_MODE от boot0, ну и вообще - поведение отличается от дев.кита |
|
|
|
Sep 2 2015, 19:06
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(yes @ Sep 1 2015, 10:00)  STM32F373 ножками NRST и boot0 дергает другой проц (дергает, имхо, правильно - видно осцилоскопом) попытки загрузить с этого другого проца через UART не проходят - но иногда 0x79 0x7F проскакивает. попытки загрузить через flash demonstrator - тоже не прошла - не видит проца Что с ногой BOOT1? Boot modes At startup, Boot0 pin and Boot1 option bit are used to select one of three boot options: •Boot from user Flash •Boot from system memory •Boot from embedded SRAM
|
|
|
|
|
Sep 4 2015, 11:43
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(ViKo @ Sep 4 2015, 14:31)  Там перечислены частоты HSE, 13 МГц среди них нет. Есть 12 МГц. USB мне не нужно, а с UART-ом должно и от 13 работать (autobaud) но я вроде бы уже добился устойчивой работы с ПК - пришлось только оторвать управляющий процессор от ножек NRST и boot0 и USART2 (перемычки, то есть сброс по POR получается, а не по NRST) когда вернул NRST и boot0 (по команде их второй проц переключает - осциллоскопом вижу) ПК (flash demonstrator) не подключается порты (ножки) подключены так как в AN2606 написано вопрос был, что может AN2606 чего-то не договаривает? мне пока не понятно - что за фигня
|
|
|
|
|
Sep 4 2015, 11:58
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(yes @ Sep 4 2015, 14:43)  USB мне не нужно, а с UART-ом должно и от 13 работать (autobaud) Rev 22, стр. 83 Цитата The bootloader has two case of operation depending on the presence of the external clock (HSE) at bootloader startup: • If HSE is present and has a value of 24, 18, 16, 12, 9, 8, 6, 4 or 3 MHz, the system clock is configured to 48 MHz with HSE as clock source. The DFU interface, USART1 and USART2 are functional and can be used to communicate with the bootloader device. • If HSE is not present, the HSI is kept as default clock source and only USART1 and USART2 are functional. Правда, в блок-схемах дальше показано, что если частоты HSE другие, то вроде как должно работать от HSI.
|
|
|
|
|
Sep 4 2015, 15:20
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(SSerge @ Sep 4 2015, 14:59)  Есть у всего семейства одна фича - нога NRST на самом деле двунаправленная, и управлять ей напрямую от цифрового выхода неправильно. Нужно либо использовать открытый коллектор (сток) либо подключаться через резистор. у меня резистор есть, поставлен чтобы можно было цепь разорвать (100Ом) но вроде как всегда NRST ножки по дефолту (то есть после POR и пока ее специально не перепрограммируют) вход с pull-up-ом и у STM32F373 так же да и осциллографом я вижу, как push-pull выход управляющего проца переключает 1-0-1 если не сложно и я что-то из общих соображений пропустил - объясните, плиз Цитата(ViKo @ Sep 4 2015, 14:58)  Правда, в блок-схемах дальше показано, что если частоты HSE другие, то вроде как должно работать от HSI. да скорее всего - какая-то "грязь" у меня в методе или на плате - найти не могу. но так как на чтении доки время сэкономлено  , то подозреваю, что что-то мог и пропустить важного (ну например пытался, еще до того как эту тему создал, по USART3 бутиться - в F4 такое проходило, а тут нет)
|
|
|
|
|
Sep 4 2015, 15:50
|
Профессионал
    
Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528

|
Цитата(yes @ Sep 4 2015, 22:20)  если не сложно и я что-то из общих соображений пропустил - объясните, плиз В реф.мануале посмотрите схему входа NRST, там есть транзистор, умеющий утягивать ногу вниз. У меня при подключении к NRST супервизора питания с пушпульным выходом тоже не получалось прошить через UART. Подключил через 1кОм - сразу заработало.
--------------------
Russia est omnis divisa in partes octo.
|
|
|
|
|
Sep 11 2015, 05:47
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(yes @ Sep 7 2015, 18:54)  MEM_MODE у конкретно того проца остается в 00 даже при работе бутлоадера и успешной прошивки флашки (хуже всего, что на евал борде - устойчиво 01) Только что бился с этими нулями в STM32F030. Из этого регистра всегда читаются нули пока не включено тактирование SYSCFG (в RCC->APB2_ENR). Но даже с выключенным тактированием в него все пишется. В описании APB2ENR есть даже такое примечание: Цитата When the peripheral clock is not active, the peripheral register values may not be readable by software and the returned value is always 0x0. Вероятно на вашей демоплате программа зачем-то включает тактирование SYSCFG. Если вы включите его на своей плате, вы увидите в SYSCFG->CFGR искомые MEM_MODE = 01.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Sep 11 2015, 12:02
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(Сергей Борщ @ Sep 11 2015, 08:47)  Вероятно на вашей демоплате программа зачем-то включает тактирование SYSCFG. Если вы включите его на своей плате, вы увидите в SYSCFG->CFGR искомые MEM_MODE = 01. спасибо, посмотрю по сбросу запускается загрузчик из system rom - он одинаковый (должен быть по-крайней мере) IAR я конекчусь DEBUG WO DOWNLOAD, что он при этом прописывает в регистры, конечно, неизвестно, да и по-моему устроено так, что по-любому jump на user flash и там до main сейчас доступны исходники только, без железки - посмотрел для eval - там модуль SYS инициализируется, брал готовый пресет для борды (то есть проекты как бы одинаковые, но что CUBE делает до main - хз)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|