Easyelectronics.ru

Электроника для всех
Текущее время: 23 фев 2018, 05:49

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



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • 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
Сообщения: 2618
Откуда: Киев
Хмм... а как быть в режиме 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
Сообщения: 2618
Откуда: Киев
Ну есть ещё такой суррогат как 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
Сообщения: 2618
Откуда: Киев
У меня сейчас стоит аналогичная задача. Но бут (с хотя бы элементарным шифрованием) надо утоптать в 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
Сообщения: 2618
Откуда: Киев
То, что я смотрю, из-за различия архитектур поможет разве что отчасти.
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 часов


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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