ViKo 1 1 июля, 2014 Опубликовано 1 июля, 2014 · Жалоба Я последовательно соединял две независимых кнопки (у каждой две группы контактов). В обычном режиме каждая работает сама по себе, а когда нажимаю обе - особый случай. Теперь аналогичное делаю программным способом, с некоторыми дополнительными условиями. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 1 июля, 2014 Опубликовано 1 июля, 2014 · Жалоба Т.е. данная кнопка выносится на корпус и доступна любому пользователю? На мой взгляд, не есть хорошее решение. Если бы какой-то Master мог сделать это по внешней технологической команде, тогда ещё приемлемо. У меня обычно есть несколько кнопок, и я делаю вход в загрузчик, если при включении питания нажата определённая комбинация. Обычный обыватель не догадается, и в случае неисправности комбинацию можно сообщить пользователю. Опять же залить что попало он туда не сможет, потому что есть проверка целостности прошивки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 1 июля, 2014 Опубликовано 1 июля, 2014 · Жалоба А у меня есть видеорегистратор, который виснет если при включении держать кнопку, и только ресетом через дырочку отвисает. Подозреваю как раз в загрузчик переходит. А вот что выйти кнопкой включения нельзя - руки бы поломал бы.... Да еще кнопки так стоят, что включая легко задеть ту самую заветную%)... У меня кнопочка внутри прибора - аварийный вариант. Штатно переход в загрузчик командой по езернет или при загрузки с битой прошивкой или левым кодом безопасности. Но аварийная кнопка нужна. Если случайно зальют левак какой-то с верным ЦРЦ и верным кодом безопасности или в котором команда перехода в бутлоадер сломана или езернет отвалится, или случайно у битого кода совпадет ЦРЦ, мало ли что..... Так же надо не забывать что иногда ваши устройства собирают партнеры которые могут и обновлять прошивки во время сборки, что им ЖТАГ поставлять? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 1 июля, 2014 Опубликовано 1 июля, 2014 · Жалоба Но аварийная кнопка нужна. Если случайно зальют левак какой-то с верным ЦРЦ и верным кодом безопасности или в котором команда перехода в бутлоадер сломана или езернет отвалится, или случайно у битого кода совпадет ЦРЦ, мало ли что.....Именно. Или какой-то непредусмотренной комбинацией штатных настроек устройство приводится в нерабочее состояние (ну бывает, любая программа содержит минимум одну ошибку), или клиенту случайно отправили промежуточную, совсем нерабочую версию - вот в таком крайнем случае можно попросить клиента вскрыть устройство, замкнуть заветную точку и залить исправление. Это быстрее и дешевле, чем пересылать устройство на ремонт через половину земного шарика. В штатном режиме устройство обновляется командой по интерфейсу без вмешательства человека. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 2 июля, 2014 Опубликовано 2 июля, 2014 · Жалоба Т.е. данная кнопка выносится на корпус и доступна любому пользователю?Она не выносится, она уже есть и является частью клавиатуры прибора. И используется обычно по своему назначению, а вызов загрузчика это её вторая скрытая функция, активируемая лишь в момент подачи питания на несколько миллисекунд. Убеждать вас в её необходимости я не буду. Сами всё поймёте рано или поздно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 2 июля, 2014 Опубликовано 2 июля, 2014 · Жалоба Она не выносится, она уже есть и является частью клавиатуры прибора. И используется обычно по своему назначению, а вызов загрузчика это её вторая скрытая функция, активируемая лишь в момент подачи питания на несколько миллисекунд. Убеждать вас в её необходимости я не буду. Сами всё поймёте рано или поздно. Может быть и так, но тогда есть вероятность получить такое: А у меня есть видеорегистратор, который виснет если при включении держать кнопку, и только ресетом через дырочку отвисает. Подозреваю как раз в загрузчик переходит. А вот что выйти кнопкой включения нельзя - руки бы поломал бы.... Да еще кнопки так стоят, что включая легко задеть ту самую заветную%)... Ну и как же быть, если нет никаких кнопок. В нашей системе и без кнопок всё нормально работает, переход в загрузчик только по командам CAN, Ethernet. Не считаю наличие данной кнопки необходимостью любой системы и Вас также переубеждать не стану. Думаю, где-то может быть оправдано такое решение где-то нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 2 июля, 2014 Опубликовано 2 июля, 2014 · Жалоба А вот можно ли зайти во встроенный загрузчик в STM32? Адрес известен, перенести таблицу векторов... Или там работает абсолютная адресация, и нужно отобразить System память на нулевые адреса (что делается ножками boot)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 2 июля, 2014 Опубликовано 2 июля, 2014 · Жалоба У ST есть несколько подробных аппнотов по загрузчику. Думаю, этот вопрос там освещен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 2 июля, 2014 Опубликовано 2 июля, 2014 · Жалоба У ST есть несколько подробных аппнотов по загрузчику. Думаю, этот вопрос там освещен. Листал. Там расписано, как работать со встроенным загрузчиком. Но чтобы из рабочей программы скакнуть, такого не помню. Впрочем, читал не внимательно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 2 июля, 2014 Опубликовано 2 июля, 2014 · Жалоба Может быть и так, но тогда есть вероятность получить такое:Чтобы такого не было я использую таймаут и выхожу из загрузчика при его бездействии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 2 июля, 2014 Опубликовано 2 июля, 2014 · Жалоба Листал. Там расписано, как работать со встроенным загрузчиком. Но чтобы из рабочей программы скакнуть, такого не помню. Впрочем, читал не внимательно. Эта фича не предусмотрена, насколько я понял. Но никто не мешает МК самому себе дёргать ногу BOOT0 и делать сброс (+конденсатор, чтобы нужный уровень на BOOT0 продержался до выхода из сброса). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryM 0 2 июля, 2014 Опубликовано 2 июля, 2014 · Жалоба И используется обычно по своему назначению, а вызов загрузчика это её вторая скрытая функция, активируемая лишь в момент подачи питания на несколько миллисекунд. Правильно. Да, ограничения накладывает, но если продумать комбинацию (CTRL+ALT+DEL например :-)) В последних SAM3 именно так и сделана фунция ERASE. В момент подачи питания анализируется уровень PIO_ERASE, а потом программа в праве переключить на PIO или оставить как есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 4 июля, 2014 Опубликовано 4 июля, 2014 · Жалоба Писал ответ в соседнюю тему и пришла в голову такая мысль: запустить загрузчик на Cortex-M3/M4 очень просто. Мы же знаем, где он находится. Значит знаем, где начинаются его вектора. Нам надо запретить прерывания, установить VTOR на вектора загрузчика, загрузить в MSP число из первого слова векторов, переключить стек на MSP и передать управление на адрес из второго слова векторов. То есть произвести те же действия, которые мы делаем при запуске приложения из самописного загрузчика. P.S. Хм, ViKo как раз это и предлагал. Надо читать сообщения внимательнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A. Fig Lee 0 4 июля, 2014 Опубликовано 4 июля, 2014 · Жалоба Писал ответ в соседнюю тему и пришла в голову такая мысль: запустить загрузчик на Cortex-M3/M4 очень просто. Мы же знаем, где он находится. Значит знаем, где начинаются его вектора. Нам надо запретить прерывания, установить VTOR на вектора загрузчика, загрузить в MSP число из первого слова векторов, переключить стек на MSP и передать управление на адрес из второго слова векторов. То есть произвести те же действия, которые мы делаем при запуске приложения из самописного загрузчика. P.S. Хм, ViKo как раз это и предлагал. Надо читать сообщения внимательнее. А смысл? Входить в загрузчик без кнопки все равно не получится. В смысле получится, пока прошивка нормальная, как только глюк - все. Хотя если просто пользовать фирменный загрузчик в своем бутлоадере, то да. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 4 июля, 2014 Опубликовано 4 июля, 2014 · Жалоба Чего то я не понял бизнеса... Хотим загрузить загрузчик без ресета? Так столько копий сломано что это чревато. А если с ресетом, то вроде и так запуститься штатный загрузчик? Чего я не понимаю? Или это способ ухода от вочдога? Так регистры то не сбросятся... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться