Forger 17 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба 1. Не верно, так как зависит от программиста Не зависит. Настоящий программист сначала изучит готовые решения. А все остальные "программисты" - изобретают велосипеды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Т.е.: если скажем возле устройства сидит программист Вася, и оно в этот момент выполняет сброс, то управление попадает в бутлоадер. А если сидит Петя, то после сброса управление попадает в другое место? :biggrin: Хммм... Очевидно Вы работали со всеми возможными STM32 и нынешними и даже будущими? :biggrin: Я бы не высказывался так категорично. Не совсем так. Если сидит aaarrr, то думаю будет работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Ставим маркер в ОЗУ и пролетаем мимо, делов-то. Нет. Не "делов-то". Вы опять как и предыдущий оратор 90% не договариваете. 1) надо позаботиться чтобы этот маркер не попал в область используемую ROM-бутлоадером; 2) надо не забыть снять этот маркер, перед сбросами из основной программы, после которых нужно войти в бутлоадер; 3) если нужен вход в бутлоадер при любом типе сброса, в том числе неожиданных по WDT или BOR из основного ПО, то маркер нужно снять уже при старте основного ПО и зарезервировать место под него, чтобы оно не использовалось в основной программе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Не зависит. Настоящий программист сначала изучит готовые решения. А все остальные "программисты" - изобретают велосипеды. Настоящий программист даже вопрос такой не будет задавать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Даже если сбрасывается периферия, то ОЗУ остается. Не всё. В некоторых МК вообще есть биты управления тактированием некоторыми регионами ОЗУ и при сбросе всей периферии (а не только ядра!) эти биты также могут быть сброшены и содержимое ОЗУ станет непредсказуемым. Не совсем так. Если сидит aaarrr, то думаю будет работать. Я бы вообще не стал бы доверять девайсу, который работает или нет в зависимости от того кто сидит рядом :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Я тому, кто рядом сидит не доверяю. Тем более девайсу. Иногда для RM делаю исключение. Хотя вот SEGGER доверяет STM32F072C8 и делает NVIC_SystemReset. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Настоящий программист даже вопрос такой не будет задавать. Вы поняли мою мысль ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Вы поняли мою мысль ;) Мысль не понял. Намёк понял. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Нет. Не "делов-то". Вы опять как и предыдущий оратор 90% не договариваете. Если для кого-то это "90%" не являются очевидными, то ему не стоит пока заниматься написанием загрузчика. 1) надо позаботиться... 0) надо озаботится достаточной разрядностью маркера, например. И можно еще пару десятков пунктов добавить, кэп одобрит :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Намёк понял. Тут вообще, что ни тема, все сплошные намеки ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Хотя вот SEGGER доверяет STM32F072C8 и делает NVIC_SystemReset. У Вас САМ segger это делает??? :wacko: Странно... у меня он делает то, что ему указано в разделе "J-Link/J-Trace\Setup\Reset" свойств проекта IAR. Какой-то он у Вас больно самостоятельный. :biggrin: Если для кого-то это "90%" не являются очевидными, то ему не стоит пока заниматься написанием загрузчика. То что вопрос задал именно этот "кто-то", видно уже из первого поста. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба У Вас САМ segger это делает??? :wacko: Странно... у меня он делает то, что ему указано в разделе "J-Link/J-Trace\Setup\Reset" свойств проекта IAR. Какой-то он у Вас больно самостоятельный. :biggrin: То что вопрос задал именно этот "кто-то", видно уже из первого поста. :) SEGGER это делает в своём коде для JLink-OB. Для вызова бутлодера, который обновляет прошивку свою. А так как код их бутлодера неизвестен, то приходится вызывать системный (DFU) и через него менять прошивку на новую. Но это совсем другая история. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Ставим маркер в ОЗУ и пролетаем мимо, делов-то. костыль.. модуль RCC специально для Вас имеет регистр в котором указан источник сброса, как раз для таких случаев. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба модуль RCC специально для Вас имеет регистр в котором указан источник сброса, как раз для таких случаев. И как он поможет определить, например, был ли вызван сброс из bootloader'а, или из основной части? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба костыль.. модуль RCC специально для Вас имеет регистр в котором указан источник сброса, как раз для таких случаев. Это универсально для многих архитектур. Тем более, как было отмечено, не покажет конкретно откуда сбросили. В некоторых случаях флаг нужно во Flash выставлять, потому как устройство может сбойнуть по питанию в процессе обновления ПО. И надо как-то знать, что прошивка не вся дозаписана. Контрольные суммым и прочее - это все, конечно, можно, но время старта тоже бывает критичным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться