Собрал железяку на STM32F107VC, пациент жив, по JTAG/SWD лью и запускаю фирварь, по замыслу еще заложена возможность загрузки фирмвари через UART, и тут возникли странности ...
Из доки, для запуска загрузчика требуется BOOT0=1 BOOT1=0, у меня BOOT1 всегда подтянут к земле, BOOT0 через джампер на подтяжки, на сбросе только емкость 0,1мкф подключена.
Стоит мне сделать BOOT0=1, как после сброса наблюдаю следующее:
1) на пине сброса появляется активный сигнал длительностью десяткок микросекунд и последующей экспоненциальной зарядкой емкости (полный заряд примерно через 10мс), самое удивительное - это происходит с периодичностью ~600мс
2) на выходе TX (USART2-PD5) примерно через 550мс появляется 0, длится 38мс, после чего происходит сброс (после которого RX=1)
TX идет только на вход RS232 преобразователя, питание абсолютно стабильное.
Загляните в эррату. Там в конце описание ошибки в загрузчике и способ обхода для 100-выводных версий.
Это для чипов произведенных до середины октября, потом исправили.
Мне правда не помогло, подтянул как указано, но USB DFU все равно работать не хочет

.
(правда еще не успел проверить, а работает ли USB вообще...)
Спасибо, проглядел ...
Требуемые подтяжки бутлодырь привели в чувства.
Dimoza
Dec 22 2009, 12:08
А у меня вообще по ARM одни вопросы пока. Нахально влезу в чужую ветку, чтобы спросить. Вот эти самые выводы BOOT0 и BOOT1. Когда куда их подтягивать нужно, когда оставлять свободными? В каком документе подробно про них написано?
В доку заглядывать не пробовали

?
Dimoza
Dec 22 2009, 12:41

)) В какую именно? Путаюсь пока. С AVR проще было: даташит на МК, да система команд (если на асме писать). Здесь же ядро в одном пдф-е, описание семейства - в другом, по конкретному чипу - в третьем. А на страничке про чип, который у меня, вообще столько мудрых файлов, что глаза разбегаются
http://www.st.com/mcu/modules.php?name=mcu...DEV=STM32F103RE
Цитата(Dimoza @ Dec 22 2009, 15:41)


)) В какую именно? ... глаза разбегаются ...
Собирайте глаза в кучку и оба в Reference Manual. Там все есть. А конкретно так: BOOT1 - на землю, а BOOT0 переключаете: на "0" - Normal Mode, на "+" - Boot Mode.
Dimoza
Dec 22 2009, 22:47
Цитата(Axel @ Dec 22 2009, 19:06)

Собирайте глаза в кучку и оба в Reference Manual.

)))) Постараюсь! За подсказку спасибо, поначалу даже мелочи не дают идти дальше.
Halfback
Nov 26 2010, 06:04
Тоже самое - в режиме загрузки из системной памяти наблюдали сбросы на RESET каждые пол секунды. Два дня парились пока не открыли эррату и не обнаружили, что мы являемся обладателями контроллера с ревизией меньше 937 (37 неделя 2009 год), что значит необходимо на некоторые ноги вешать подтягивающие к питанию резисторы. Повесили - всё стало грузиться.