digital 0 20 августа, 2015 Опубликовано 20 августа, 2015 · Жалоба Есть открытые библиотеки для работы с программатором, пишите на их основе свой загрузчик, который зашивает вашу прошивку, считает количество заливок и отправляет вам по интрнету. конечно можно взломать, если успеет вытащить процеcсор до пережигания jtag, либо подать более низкое напряжение чтобы он не смог пережечь jtag можно тоже самое сделать через bootloader, предварительно проверить убит ли jtag Погодите-ка... Получается, после распаковки в устройстве заказчика будет находится работоспособная прошивка. С условием того, что JTAG у него рабочий, что мешает ему скопировать эту прошивку и заливать ее уже без моего участия? Не пойдет так! Но Ваше предложение об устройстве, заливающем прошивку, родило следующую идею. Можно изготовить устройство-загрузчик на основе лишь одного МК без микросхемы памяти. В этом МК будет хранится прошивка для заливки и загрузчик. Фьюз JTAG у этого МК должен быть пережжен. Заказчик, получив от меня устройство-загрузчик по обычной почте, подключает его к своему целевому МК. Что важно, подключение будет осуществлено по JTAG. После физического подключения, заказчик нажимает на устройстве-загрузчике кнопку, в результате чего оно начинает копировать в целевой МК прошивку. После завершения копирования, устройство-загрузчик прожигает фьюз целевого МК, а так же стирает собственную память. В результате у заказчика остается работоспособное устройство с моей прошивкой, но с невозможностью сделать копию, а так же мое устройство-загрузчик, которое уже не способно что-либо загрузить. Его он мне отсылает назад. Я через BSL загружаю в него прошивку и загрузчик и снова готов отправить ее для заливки. Вопрос: как осуществить "общение" по JTAG порту? Где взять протокол обмена? вот это устройство http://www.ti.com/tool/msp-gang наверно уже можно прямо на нем сделать однократную прошивку Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 20 августа, 2015 Опубликовано 20 августа, 2015 (изменено) · Жалоба Бутлоадер - это программа в МК, которая может обновить проц? Если так, то как бутлоадер проверит, что JTAG пережжен? Изменено 20 августа, 2015 пользователем d7d1cd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
digital 0 20 августа, 2015 Опубликовано 20 августа, 2015 · Жалоба Бутлоадер - это программа в МК, которая может обновить проц? Если так, то как бутлоадер проверит, что JTAG пережжен? если не ошибаюсь в бутлоадере есть такая функция, если нет, то это можно проверить аппаратно (если есть доступ к jtag) сколько планируется прошивать штук? единичные количества или как? чем плоха почта? нельзя выпаивать ? обновления версии планируется? можно отправлять с уже прошитым своим бутлоадером, который принимает шифрованный образ и имеет свой серийный номер Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 20 августа, 2015 Опубликовано 20 августа, 2015 · Жалоба Сколько работаю с MSP430, никогда нигде не видел, что можно программно определить, прожжен фьюз или нет. Думаю, что это в принципе невозможо сделать "изнутри" проца. Сколько будет прошиваться устройств не знаю. Может одно-два, может 100-200. Выпаивать нельзя. Обновление чего? Заливаемой прошивки? Да, планируется, но уже через интерфейс связи. Если бы программно можно было определить состояние фьюза JTAG, то решение моей задачи было бы очень простым. :05: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
digital 0 20 августа, 2015 Опубликовано 20 августа, 2015 · Жалоба как добавить уникальности можно измерять частоту внутреннего генератора, напряжение опорного диода (напряжение питания) , на основе этих данных создавать прошивку, которая в целевом устройстве проверит что все верно, запишет у себя бит что все хорошо и продолжит работу все вышеперчисленное меняеться от времени и температуры, но если запрос уникальности, формирование образа, прошивки и проверки делать автоматически и быстро, то за столь короткое время не успеет измениться. Сколько работаю с MSP430, никогда нигде не видел, что можно программно определить, прожжен фьюз или нет. Думаю, что это в принципе невозможо сделать "изнутри" проца. не знаю, спорить не буду, fuse можно проверить Jtag программатором, но лучше чтобы он сам его и прожигал JTAG fuse check mode MSP430 devices that have the fuse on the TDI terminal have a fuse check mode that tests the continuity of the fuse the first time the JTAG port is accessed after a power-on reset (POR). When activated, a fuse check current, I TF , of 1 mA at 3 V, 2.5 mA at 5 V can flow from the TDI pin to ground if the fuse is not burned. Care must be taken to avoid accidentally activating the fuse check mode and increasing overall system power consumption. Activation of the fuse check mode occurs with the first negative edge on the TMS pin after power up or if the TMS is being held low during power up. The second positive edge on the TMS pin deactivates the fuse check mode. After deactivation, the fuse check mode remains inactive until another POR occurs. After each POR the fuse check mode has the potential to be activated. The fuse check current will only flow when the fuse check mode is active and the TMS pin is in a low state (see Figure 18). Therefore, the additional current flow can be prevented by holding the TMS pin high (default condition). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 20 августа, 2015 Опубликовано 20 августа, 2015 · Жалоба все вышеперчисленное меняеться от времени и температуры, но если запрос уникальности, формирование образа, прошивки и проверки делать автоматически и быстро, то за столь короткое время не успеет измениться. Прошивка должна будет "всю жизнь" проверять эти параметры. А так как они могут измениться, то и работа прекратится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
digital 0 20 августа, 2015 Опубликовано 20 августа, 2015 · Жалоба Прошивка должна будет "всю жизнь" проверять эти параметры. А так как они могут измениться, то и работа прекратится. нет, только однократно при старте если нужен серийный номер для дальнейшей работы, то его можно сформировать (случайнный, последовательный и хэш) при старте и передать программатору , ну и сохранить у себя Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться