Easyelectronics.ru • Просмотр темы - BSL инициировать ручками?

Easyelectronics.ru

Электроника для всех
Текущее время: 18 авг 2018, 11:08

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: BSL инициировать ручками?
СообщениеДобавлено: 03 ноя 2016, 01:27 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Никогда не шил через Bootloader. Нет необходимости. Но вот заинтересовала возможность (пере)прошивки фирмвара по каналу RS-485. То есть, дополнительньіх линий DTR и RTS для создания стартовой последовательности нет. Но живой чел возле девайса может находиться, запомним єто.

В рабочем девайсе, если я правильно понял, можно заставить программу саму скакнуть на адрес начала Bootloadr-а. Верно? такой способ решает вопрос обновления прошивки исправного девайса.
Но если программа каким-то образом не откликается, слетела или хер его знает, то речь идет уже только о прошивке с "чистого листа". И тогда я вижу только один путь - надергать стартовую последовательность.

Вот и интересуюсь: а можно повесить там кондер на #RST, и пока он заряжается - поднять SBW Clock? Если поднимать мех.контактом, то 2 (и еще 100500) перехода гарантированьі, так? А потом поднимется и #RST.
Не исключаю даже какое-то схемное решение заложить в плату. Чтоб нажать кнопарик, а там сами по себе создались 2 сигнала. Хотя интересно, конечно, совсем на шару, без затрат.
Одним словом, кто пробовал руками вводить МК в лодьіря - прошу отозваться. Или хоть знаете об опьіте других, кто пробовал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BSL инициировать ручками?
СообщениеДобавлено: 03 ноя 2016, 11:54 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 2709
Откуда: Винница
Хмм... а как быть в режиме BSL с переключением приём/передача?

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BSL инициировать ручками?
СообщениеДобавлено: 03 ноя 2016, 12:08 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Katz писал(а):
Хмм... а как быть в режиме BSL с переключением приём/передача?

М-дя... Не дотумкав. Тому й питаю, щоб ось так не проколотись! Дякую!

То есть, для обновления нужно поставить на плате раз'єм и только с него работать. Тогда не вижу разницьі, будет ли работа с лодьіря или просто по SBW. На SBW у мені раз’ем стоит.
Разве что - проще с точки зрения, откуда будет идти перепрошивка. Если там произвольньій комп (читай - винда галимая), то проще вместе с файлом прошивки кинуть и какую-то программу работьі с бутлодером. Я, правда, так и не понял еще , какую нужно, у техасцев єто все спутано в одну кучу, оборудование, программа, сами бутлодерьі (в смьісле то, что в МК)...
Жаль. Хотелось приблизиться к удаленному обновлению. Чтобьі и файл прошивки на об’ект не бросать.

Не, ну я знаю про драйверьі RS-485 с автоматическим переключением, но они дороже, а перепрошивка пока в стадии размьішлизмов - то есть, переходить на такие нестандартньіе микрухи не хочется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BSL инициировать ручками?
СообщениеДобавлено: 05 ноя 2016, 13:00 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 2709
Откуда: Винница
Ну есть ещё такой суррогат как J1708, с обычными драйверами, естественно, помехоустойчивость там похуже. Во избежание эха RE и DE придётся соединить вместе, а RO подтянуть к плюсу.

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BSL инициировать ручками?
СообщениеДобавлено: 05 ноя 2016, 14:00 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Katz писал(а):
Ну есть ещё такой суррогат
Интересно. Я не знаком с таким подходом.
Для разрешения конфликта доступа на шину они повторили принцип І2С, метко названьій Діхальтом (в одной из ранних публикаций об І2С) как "кто раньше встал, того и тапки". Такой же принцип, по сути, использован и у CAN-bus. Да и время появления CAN и J1708, как я погляжу, очень близко. Но CAN пошел, а тот затих...

Не, друже, я разочаровался в лодьірях. Точнее, в моей задача апгрейда прошивки в далеких степях никак не годятся ни стандартньіе способьі прошивки через всякие там житаги, ни более открьітьіе бутлодьі. Все требует определенного уровня квалификации персонала, специального ПО, да еще и программатора, какого-никакого. Мир давно пошел другим путем - и меня зовет тудьі ж. А именно: сам МК-девайс должен уметь себя апргейдить. Аппаратньіе возможности у моих любимьіх 430-х МК есть, да я и сам их давно юзаю, "прошивая" во ФРАМ параметрьі, журнал работьі и прочее, чего хочу - никаких же трудностьов нет. Так чего не прописать саму программу своим загрузчиком кода? Ща перехожу на 32-64К камешки, памяти (кажется) немеряно, ну и вьіделю один защищенньій сегмент на своего лодьіря.
Зато уж он будет не капризньій! Пока еще не написал, но вижу так: по командам от любого из портов (2 канала RS-485, без вьіебонов, все стандартно) или от кнопки на плате он начинает жадно хавать все, что подкинут. А подкинуть можно с RS-485 (опять-таки, любого) или с SD-картки, которую собираюсь присобачить как опцию. Если в получаемой инфе после разшифровки вдруг оказьівается еще и правильная контролька - пишем єтот блок и хаваем дальше. Ну, перед первой записью мьі внезапно осознаем, что йо-майо, ща программу запортим к єбеням - и прописьіваем где-то метку, мол "Прога на ремонте". Єто на случай, если прошивка сорвется. То будет просто: по йентой метке теперь девайс только и крутится в ожидании прошивки. Так что прерваньій коитус не превращает девайс в кирпич, как любят хвастать всякие там деде-веертешники. Нет. Девайс просто нужно еще раз прошить.
Ну, ладно. Дошили, сняли табличку о ремонте. Профит!
Никогда не интересовался, как делают перепрошивку. Потому и расписьіваю (возможно, общепринятьіе) процедурьі так подробно. А вдруг кто-то подскажет совсем иную идею. Или нюанс. Тьі вот, небось таких загрузчиков наваял 100500 штук, не?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BSL инициировать ручками?
СообщениеДобавлено: 07 ноя 2016, 12:02 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 2709
Откуда: Винница
У меня сейчас стоит аналогичная задача. Но бут (с хотя бы элементарным шифрованием) надо утоптать в 1 килобайт.
Часть позаимствовал у NXP, часть у Silabs, процедуру шифрования делаю свою...
Если флеши много или есть внешняя память, то часть её можно отвести под буфер, грузить новую прошивку туда целиком, а после верификации перебросить в рабочую область. Так делали перепрошивку по GPRS - связь в любой момент может оборваться (и надолго), а перерывы в работе прибора крайне нежелательны.

Кстати насчёт "таблички"... в MSP ведь вектор сброса всегда занимает последние 2 байта флеши? В начале перепрошивки просто записываем туда адрес старта бутлоадера. В случае, если процесс оборвётся, стартовать будет бут. А в самом конце процесса пишем адрес боевой программы.
Show

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BSL инициировать ручками?
СообщениеДобавлено: 07 ноя 2016, 12:47 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Katz писал(а):
У меня сейчас стоит аналогичная задача
Видишь, задачи близкие, а нюансов много. У меня флеша (фрама) будет много. Хотя - в старьіх модулях можно бьіло бьі добавить, а там действительно придется жаться. Но я еще не приступал, так что даже не представляю, что понадобится по об’ему.
А линки не подкинешь, откуда начать? Я-то не читатель, а писатель, но сгодилось бьі для общего представления.
Шифрование... Вот загадочная штука! Мне, полному профану в єтом деле, кажется, что так просто сделать алгоритм, которьій хер раскусишь! Хотя понимаю, что єто только мое неуцтво говорит. Но ведь тут какой фокус: главное не то, чтобьі шифрование бьіло надежньім! Главное - чтобьі разработчик так думал :) Кому, на самом деле, сдались мои программьі...
Katz писал(а):
Если флеши много или есть внешняя память
Єто сразу исключил. ОЗУ там 1К всего. А вот продолжение работьі программьі в режиме бутлодера после неудачной прошивки (вообще говоря, просто при обнаружении, что прошивка битая) - єто я придумал здорово! Ну, х*й с ним, может до меня индусьі єто давно используют, но я-то сам придумал :) Я все равно при старте считаю контрольку по памяти (метрологи требуют) - осталось только старт программьі весь поместить в область лодьіря и при несовпадении зацикливаться на нем.
Правда, тогда после первой прошивки нужно придумать, как єтот чекинг обойти. Не буду же я компилятор грузить подсчетом контрольки! Все равно не сойдется с внутренним подсчетом. Так что первьій раз нужно лодьірю самому посчитать и прописать правильную контрольку. Ну, флажок заведем, типа целочка. Запишем его в области лодьіря. ФРАМ позволяет такие штуки.

Разохотился. Может в старом модуле попробовать...

О! Тьі правишь пост, пока я пишу. Ну жа, у нас адрес в конце. Поєтому и говорю, что на лодьіря буду вьіходить всегда.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BSL инициировать ручками?
СообщениеДобавлено: 07 ноя 2016, 15:46 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 2709
Откуда: Винница
То, что я смотрю, из-за различия архитектур поможет разве что отчасти.
http://www.silabs.com/products/mcu/page ... notes.aspx - см. AN533, AN778, AN945.
Да у самого Техаса на эту тему наверняка много чего должно быть... вот, например. http://www.ti.com/lit/ug/slau657/slau657.pdf
У них это называется CryptoBSL.

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BSL инициировать ручками?
СообщениеДобавлено: 07 ноя 2016, 16:38 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Katz писал(а):
Да у самого Техаса на эту тему наверняка много чего должно быть...
У них это называется CryptoBSL.

Да, нехило там освещено. Читаю с интересом. И все уже украдено до вас: есть и исходники, есть и бинарники, есть джава-программа на комп, чтобьі управлять шифрованием. Расписаньі и юзер-кейсьі... Очень основательно. Буду изучать.
Причем, изучать придется прямо сейчас, т.к. я в фазе последних телодвижений перед заказом семплов - а в том, что я на сегодня вьібрал, AES не предусмотрено. Те же серии, только не 59/69, а 58/68. Вот и нужно понять - можно ли заюзать их CryptoBSL без криптования :) Или делать ставку на 59/69.
Хотя семпльі 59/69 не испортятся, ага. Во всем остальном они нога в ногу совпадают.
Спасибо!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB