Jump to content

    

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

4 hours ago, HardEgor said:

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

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

4 hours ago, HardEgor said:

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

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

 

Share this post


Link to post
Share on other sites
31 минуту назад, haker_fox сказал:

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

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

 

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

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

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

Share this post


Link to post
Share on other sites
5 minutes ago, HardEgor said:

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

не факт :negative:

Share this post


Link to post
Share on other sites

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

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


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

Share this post


Link to post
Share on other sites
2 часа назад, khach сказал:

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

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

Share this post


Link to post
Share on other sites
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/

Share this post


Link to post
Share on other sites

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

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

 

Edited by antis

Share this post


Link to post
Share on other sites
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/

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

Share this post


Link to post
Share on other sites
12 hours ago, x893 said:

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

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

13 hours ago, antis said:

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

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

Share this post


Link to post
Share on other sites
1 hour ago, khach said:

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

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

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

Share this post


Link to post
Share on other sites
55 minutes ago, x893 said:

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

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

Share this post


Link to post
Share on other sites
15 minutes ago, khach said:

Сарказм это

Скорее ирония 

Share this post


Link to post
Share on other sites
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 будем лить новую прошивку.

Share this post


Link to post
Share on other sites
1 час назад, Eddy_Em сказал:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now