Перейти к содержанию
    

Прошивка STM32 другим контроллером

4 hours ago, HardEgor said:

а через swd можно и в регистрах покопаться и чего-то поправить на ходу :)

Понимаю компом, но не другим же микроконтроллером)

4 hours ago, HardEgor said:

Ну и не у всех бутлоадер есть

Не у всех STM32? Мне казалось, что у всех... могу ошибаться)(

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

31 минуту назад, haker_fox сказал:

Понимаю компом, но не другим же микроконтроллером)

Пффф! Компом даже начинающий сможет, а вот микроконтроллером....

 

34 минуты назад, haker_fox сказал:

Не у всех STM32? Мне казалось, что у всех... могу ошибаться)(

Однако к STM32 другие МК подключить можно и даже датчики с встроенным МК и интерфейсом SWD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если учесть как подбирали с ТС конденсаторы к кварцу, то тут трава существенно забористее. ;-)

...датчики с встроенным МК и интерфейсом SWD.


SPI, I2C, UART... CAN, не побоюсь этого слова, даже 1Wire уж точно чаще будут ;-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, khach сказал:

Основная причина задействовать SWD для проца-супервайзера- желание снимать блюскрины

Оооо! Месье телепат?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27 minutes ago, Сергей Борщ said:

Оооо! Месье телепат? 

Нет, просто была ситуация почти как в том анекдоте, где программист для апгрейда фирмвари приезжает к черту на кулички, а ему дают лопату и говорят-копай. На вопрос а зачем копать - отвечают что кабельный модем которому фирмварь апгрейдить надо зарыт как раз тут на глубине 6 метров в вечной мерзлоте. Ну если с удаленной прошивкой более- менее разобрались, если супервайзер умел загнать проц в режим загрузки, дернув питание например,  то удаленную отладку, когда устройство вешается раз в полгода ( на глубине  N+1 метров) пока не освоили. Отсюда и вопрос, если уж напрягаться с SWD то пусть и такой функционал будет. Оптимально было бы иметь на супервизоре J-Link Remote Server в добавление к функционалу снятия дампов при краше, т.к иногда устройство надо быстро перезапустить сняв предварительно дамп и лог, а отлаживаться когда будет свободное окно по времени.

Вот тут нечто подобное реализовано на малине ( Raspbery Pi) https://blog.feabhas.com/2019/07/using-a-raspberry-pi-as-a-remote-headless-j-link-server/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отлаживать надо на столе или стенде, а не на глубине 6 метров

Кривому софту post-dump не поможет

 

Изменено пользователем antis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, khach said:

Нет, просто была ситуация почти как в том анекдоте, где программист для апгрейда фирмвари приезжает к черту на кулички, а ему дают лопату и говорят-копай. На вопрос а зачем копать - отвечают что кабельный модем которому фирмварь апгрейдить надо зарыт как раз тут на глубине 6 метров в вечной мерзлоте. Ну если с удаленной прошивкой более- менее разобрались, если супервайзер умел загнать проц в режим загрузки, дернув питание например,  то удаленную отладку, когда устройство вешается раз в полгода ( на глубине  N+1 метров) пока не освоили. Отсюда и вопрос, если уж напрягаться с SWD то пусть и такой функционал будет. Оптимально было бы иметь на супервизоре J-Link Remote Server в добавление к функционалу снятия дампов при краше, т.к иногда устройство надо быстро перезапустить сняв предварительно дамп и лог, а отлаживаться когда будет свободное окно по времени.

Вот тут нечто подобное реализовано на малине ( Raspbery Pi) https://blog.feabhas.com/2019/07/using-a-raspberry-pi-as-a-remote-headless-j-link-server/

малина быстрее сдохнет чем микропроцессор. И кто на ней следить будет ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 hours ago, x893 said:

малина быстрее сдохнет чем микропроцессор. И кто на ней следить будет ?

Так в реале никто делать не будет- не надежно. Тем более кроме малины нужен оригинальный JLink. Хотя та же проверка целостности прошивки через cron кое-какой смысл имеет в определенных случаях. Но хотелось бы всего тоже самого  без малины в отдельной STM F4 сетью и внешней флешкой для хранения дампов. И языком скриптов или питоноподобное что то для управления логикой супервайзеар в оффлайн режиме, когда устройство предоставлено само себе. Т.е чтобы логику обработки трапа или собаки можно было за ранее описать в скрипте. Конечно возникает парадокс барона Мюнхгаузена, что делать если супервайзер слетит. Для этого нужна какая то тупая ATtiny или что то подобное для надзора за супервайзером.

13 hours ago, antis said:

Отлаживать надо на столе или стенде, а не на глубине 6 метров

Угу, помню, только отладка была на крыше на всех ветрах. Устройство сошло с ума через 2 года надежной эксплуатации. Кто же знал, что на соседней базовой станции поменяют антенну с управляемой диаграммой направленности и она в процессе перстройки светит лучем точно на жертву отладки. Процесс был весьма спорадический, т.к зависил от мероприятий на соседнем стадионе. Ясное дело, что после обнаружения причины замена корпуса на более EMI надежный и фильтры было делом техники. Но сначало то грешили на прошивку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, khach said:

Для этого нужна какая то тупая ATtiny или что то подобное для надзора за супервайзером.

И что то ещё тупее для надзора за ATTiny.

Так до арифметра Феликс дойдёт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

55 minutes ago, x893 said:

И что то ещё тупее для надзора за ATTiny.

Сарказм это. На самом деле чего то типа интеллигентного WDT типа LTC694-3.3  с головой хватало. Если он срабатывал для контроллера-супервизора то просто писалось в лог событие по рестарту.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/13/2020 at 3:32 PM, HardEgor said:

Ну и не у всех бутлоадер есть и/или доступен или пины все заняты. А SWD обычно свободен.

Как раз-таки ровно наоборот! На бутлоадере обычно висит вполне реальный интерфейс (скажем, к UART1 подключаем RS-232, CAN занимаем собственно CAN'ом, USB заняты USB и т.д., и т.п.), т.е. нужно всего лишь иметь возможность удаленно нажать кнопки boot/reset и прошить. А вот на SWD обычно висят более нужные вещи, т.к. зачем полезные лапы оставлять незанятыми? По крайней мере, я у себя абсолютно на всех железках первым делом в main отключаю JTAG/SWD (прошивке, кстати, это никак не мешает)!

Самый простой загрузчик - по USART. А учитывая то, что документация есть и (самое главное) есть исходный код (stm32flash) — можно на вспомогательном МК (хоть STM32F030 + внешняя флеш) сделать загрузчик. Но не проще ли прошивать МК по основной линии связи? Т.е. дополнительный МК будет лишь boot/reset жать, а по RS-232 или CAN будем лить новую прошивку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Eddy_Em сказал:

По крайней мере, я у себя абсолютно на всех железках первым делом в main отключаю JTAG/SWD (прошивке, кстати, это никак не мешает)!

И как потом отлаживать готовое устройство?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да как и всегда: отлаживаю через USB и/или UART, нафиг мне этот swin?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...