Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609

BSL инициировать ручками?

02.11.2016, 00:40. Показов 3624. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Никогда не шил через Boottooder. Нет необходимости. Но вот заинтересовала возможность (пере)прошивки фирмвара по каналу RS-485. То есть, дополнительньіх линий DTR и RTS для создания стартовой последовательности нет. Но живой чел возле девайса может находиться, запомним єто.

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

Вот и интересуюсь: а можно повесить там кондер на #RST, и пока он заряжается - поднять SBW Clock? Если поднимать мех.контактом, то 2 (и еще 100500) перехода гарантированьі, так? А потом поднимется и #RST.
Не исключаю даже какое-то схемное решение заложить в плату. Чтоб нажать кнопарик, а там сами по себе создались 2 сигнала. Хотя интересно, конечно, совсем на шару, без затрат.
Одним словом, кто пробовал руками вводить МК в лодьіря - прошу отозваться. Или хоть знаете об опьіте других, кто пробовал.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.11.2016, 00:40
Ответы с готовыми решениями:

MSP430 Family 5 - BSL
Есть ли возможность работать с BSL msp430f51xx через PC. Errata http://www.ti.com/lit/er/slaz058d/slaz058d.pdf ограничивает зазор между...

Конвертация bin в bsl
Добрый вечер. При интеграции gitlab столкнулся с проблемой анализа кода модуля обычных форм. Выгрузка конфигурации в файлы для обычных...

Как инициировать get_posts
Всем привет. Вообще задача стоит такая. Получить сумму всех купленных постов, стоит система фриланса, и в данном случае пост это...

8
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 569
02.11.2016, 11:07
Хмм... а как быть в режиме BSL с переключением приём/передача?
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
02.11.2016, 11:21
Цитата Сообщение от Kotz
Хмм... а как быть в режиме BSL с переключением приём/передача?
М-дя... Не дотумкав. Тому й питаю, щоб ось так не проколотись! Дякую!

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

Не, ну я знаю про драйверьі RS-485 с автоматическим переключением, но они дороже, а перепрошивка пока в стадии размьішлизмов - то есть, переходить на такие нестандартньіе микрухи не хочется.
0
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 569
04.11.2016, 12:13
Ну есть ещё такой суррогат как J1708, с обычными драйверами, естественно, помехоустойчивость там похуже. Во избежание эха RE и DE придётся соединить вместе, а RO подтянуть к плюсу.
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
04.11.2016, 13:13
Цитата Сообщение от Kotz
Ну есть ещё такой суррогат
Интересно. Я не знаком с таким подходом.
Для разрешения конфликта доступа на шину они повторили принцип І2С, метко названьій Діхальтом (в одной из ранних публикаций об І2С) как "кто раньше встал, того и тапки". Такой же принцип, по сути, использован и у CAN-bus. Да и время появления CAN и J1708, как я погляжу, очень близко. Но CAN пошел, а тот затих...

Не, друже, я разочаровался в лодьірях. Точнее, в моей задача апгрейда прошивки в далеких степях никак не годятся ни стандартньіе способьі прошивки через всякие там житаги, ни более открьітьіе бутлодьі. Все требует определенного уровня квалификации персонала, специального ПО, да еще и программатора, какого-никакого. Мир давно пошел другим путем - и меня зовет тудьі ж. А именно: сам МК-девайс должен уметь себя апргейдить. Аппаратньіе возможности у моих любимьіх 430-х МК есть, да я и сам их давно юзаю, "прошивая" во ФРАМ параметрьі, журнал работьі и прочее, чего хочу - никаких же трудностьов нет. Так чего не прописать саму программу своим загрузчиком кода? Ща перехожу на 32-64К камешки, памяти (кажется) немеряно, ну и вьіделю один защищенньій сегмент на своего лодьіря.
Зато уж он будет не капризньій! Пока еще не написал, но вижу так: по командам от любого из портов (2 канала RS-485, без вьіебонов, все стандартно) или от кнопки на плате он начинает жадно хавать все, что подкинут. А подкинуть можно с RS-485 (опять-таки, любого) или с SD-картки, которую собираюсь присобачить как опцию. Если в получаемой инфе после разшифровки вдруг оказьівается еще и правильная контролька - пишем єтот блок и хаваем дальше. Ну, перед первой записью мьі внезапно осознаем, что йо-майо, ща программу запортим к єбеням - и прописьіваем где-то метку, мол "Прога на ремонте". Єто на случай, если прошивка сорвется. То будет просто: по йентой метке теперь девайс только и крутится в ожидании прошивки. Так что прерваньій коитус не превращает девайс в кирпич, как любят хвастать всякие там деде-веертешники. Нет. Девайс просто нужно еще раз прошить.
Ну, ладно. Дошили, сняли табличку о ремонте. Профит!
Никогда не интересовался, как делают перепрошивку. Потому и расписьіваю (возможно, общепринятьіе) процедурьі так подробно. А вдруг кто-то подскажет совсем иную идею. Или нюанс. Тьі вот, небось таких загрузчиков наваял 100500 штук, не?
0
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 569
06.11.2016, 11:15
У меня сейчас стоит аналогичная задача. Но бут (с хотя бы элементарным шифрованием) надо утоптать в 1 килобайт.
Часть позаимствовал у NXP, часть у Silabs, процедуру шифрования делаю свою...
Если флеши много или есть внешняя память, то часть её можно отвести под буфер, грузить новую прошивку туда целиком, а после верификации перебросить в рабочую область. Так делали перепрошивку по GPRS - связь в любой момент может оборваться (и надолго), а перерывы в работе прибора крайне нежелательны.

Кстати насчёт "таблички"... в MSP ведь вектор сброса всегда занимает последние 2 байта флеши? В начале перепрошивки просто записываем туда адрес старта бутлоадера. В случае, если процесс оборвётся, стартовать будет бут. А в самом конце процесса пишем адрес боевой программы. Мне хуже - по совокупности причин выбран контроллер 51 архитектуры, который всегда стартует с нулевого адреса и приходится извращаться.
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
06.11.2016, 12:00
Цитата Сообщение от Kotz
У меня сейчас стоит аналогичная задача
Видишь, задачи близкие, а нюансов много. У меня флеша (фрама) будет много. Хотя - в старьіх модулях можно бьіло бьі добавить, а там действительно придется жаться. Но я еще не приступал, так что даже не представляю, что понадобится по об’ему.
А линки не подкинешь, откуда начать? Я-то не читатель, а писатель, но сгодилось бьі для общего представления.
Шифрование... Вот загадочная штука! Мне, полному прафину в єтом деле, кажется, что так просто сделать алгоритм, которьій хер раскусишь! Хотя понимаю, что єто только мое неуцтво говорит. Но ведь тут какой фокус: главное не то, чтобьі шифрование бьіло надежньім! Главное - чтобьі разработчик так думал :) Кому, на самом деле, сдались мои программьі...
Цитата Сообщение от Kotz
Если флеши много или есть внешняя память
Єто сразу исключил. ОЗУ там 1К всего. А вот продолжение работьі программьі в режиме бутлодера после неудачной прошивки (вообще говоря, просто при обнаружении, что прошивка битая) - єто я придумал здорово! Ну, х*й с ним, может до меня индусьі єто давно используют, но я-то сам придумал :) Я все равно при старте считаю контрольку по памяти (метрологи требуют) - осталось только старт программьі весь поместить в область лодьіря и при несовпадении зацикливаться на нем.
Правда, тогда после первой прошивки нужно придумать, как єтот чекинг обойти. Не буду же я компилятор грузить подсчетом контрольки! Все равно не сойдется с внутренним подсчетом. Так что первьій раз нужно лодьірю самому посчитать и прописать правильную контрольку. Ну, флажок заведем, типа целочка. Запишем его в области лодьіря. ФРАМ позволяет такие штуки.

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

О! Тьі правишь пост, пока я пишу. Ну жа, у нас адрес в конце. Поєтому и говорю, что на лодьіря буду вьіходить всегда.
0
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 569
06.11.2016, 14:59
То, что я смотрю, из-за различия архитектур поможет разве что отчасти.
http://www.silabs.com/products/mcu/page ... notes.aspx - см. AN533, AN778, AN945.
Да у самого Техаса на эту тему наверняка много чего должно быть... вот, например. http://www.ti.com/lit/ug/slau657/slau657.pdf
У них это называется CryptoBSL.
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
06.11.2016, 15:51
Цитата Сообщение от Kotz
Да у самого Техаса на эту тему наверняка много чего должно быть...
У них это называется CryptoBSL.
Да, нехило там освещено. Читаю с интересом. И все уже украдено до вас: есть и исходники, есть и бинарники, есть джава-программа на комп, чтобьі управлять шифрованием. Расписаньі и юзер-кейсьі... Очень основательно. Буду изучать.
Причем, изучать придется прямо сейчас, т.к. я в фазе последних телодвижений перед заказом семплов - а в том, что я на сегодня вьібрал, AES не предусмотрено. Те же серии, только не 59/69, а 58/68. Вот и нужно понять - можно ли заюзать их CryptoBSL без криптования :) Или делать ставку на 59/69.
Хотя семпльі 59/69 не испортятся, ага. Во всем остальном они нога в ногу совпадают.
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.11.2016, 15:51
Помогаю со студенческими работами здесь

Как правильно инициировать функцию?
как правильно инициировать функцию GetDriveType() рытье в гугле привело к строке ...

Как инициировать !IsPostBack из JavaScript
Собственно, сабж. Есть основное окно, которое открывает другое. В нём происходит изменение базы и после этого нужно из открытого окна...

Инициировать нажатие кнопки формы
Подскажите,как инициировать нажатие определенной кнопки на странице, не нажимая ее непосредственно. Спасибо!

Linux - создание бд ручками
Проблема возникает на шаге создание инстанса и привязки его к init.ora - линухом начал надавно заниматься. В винде - oradim есть, а в...

Инициировать клик ссылки по клику чекбокса
Добрый день. ХТМЛ: <a href='/someUrl' class="filterlink " data-val="19"> <span><input...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru