Перейти к содержанию
    

MSP430 - снова вопросы от чайника

JTAG fuse я пережгу, но все равно останется возможность доступа к программе по BSL - по крайней мере стереть можно :05: Как полностью закрыть доступ к прошитой программе и по BSL? Разъем убирать уже поздно...
Могу вас еще больше разочаровать. В прошивке BSL версии 1.10, которая используется в кристаллах MSP430F14x, имеется (отраженный в errata как BSL3) баг с помощью которого можно считать прошивку целиком. Так что, полностью защитить ваше устройство от толкового эмбеддера, занимающегося reverse engineering, вы не сможете :laughing: Для затруднения этой задачи нужно хотя бы применить кристалл с другой (более старшей) версией BSL, типа MSP430F16x. Вы ведь все равно хотели MSP430F1611 с 10кБ ОЗУ применить, вот вам и формальное обоснование для замены :) А для защиты от случайного или преднамеренного стирания прошивки сделайте, например, механический разрыв дорожки, ведущей от разъема BSL к пину P1.1. Короче скальпелем дорожку почикайте ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Могу вас еще больше разочаровать. В прошивке BSL версии 1.10, которая используется в кристаллах MSP430F14x, имеется (отраженный в errata как BSL3) баг с помощью которого можно считать прошивку целиком. Так что, полностью защитить ваше устройство от толкового эмбеддера, занимающегося reverse engineering, вы не сможете :laughing: Для затруднения этой задачи нужно хотя бы применить кристалл с другой (более старшей) версией BSL, типа MSP430F16x. Вы ведь все равно хотели MSP430F1611 с 10кБ ОЗУ применить, вот вам и формальное обоснование для замены :) А для защиты от случайного или преднамеренного стирания прошивки сделайте, например, механический разрыв дорожки, ведущей от разъема BSL к пину P1.1. Короче скальпелем дорожку почикайте ;)

Беда :crying: Кристалл заменить я уже тоже не могу, это я справшивала для следуещего образца, а в этом, который как опытный пойдет - плата разведена, размеры и комплектуха везде прописаны, в документации мне надо ОБЯЗАТЕЛЬНО указать, как я защищаюсь от "посторонних". не писать же - после прошивки почикайте дорожку. :biggrin: Беда, беда. Огорчение. Придется "умолчать" о разъеме для BSL и надеяься, что "не заметят"

Изменено пользователем Daria

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в этом, который как опытный пойдет - плата разведена, размеры и комплектуха везде прописаны
А вы всего лишь одну цифирьку в спецификации исправьте ;) Вместо MSP430F149IPM укажите MSP430F169IPM. Они же пин-ту-пин совместимые, размер Flash и SRAM одинаковый, набор периферийных модулей 169-го больше и включает все те же модули, что имеются в 149-й. Так что вероятнее всего даже программу перекомпилировать под 169-й кристалл не обязательно. Зато в MSP430F169 версия BSL 1.61 для которой баг BSL3 уже пофиксен. Хотя вероятность затереть firmware через BSL конечно же остается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

О! Спасибо, что откликнулись. По поводу параболы - решаете квадратное уравнение ax^2+bx+c? но оно вообще говоря может не иметь действительных решений, если D=sqrt(b^2-4ac)<0/ Какпоступаете?

Кричу: АЛЯРМА!!! Чо-то неправильно ввели!

Но по-моему не было у меня такого, ибо я введённые значения для индикации в контрольной точке банально проверяю на вхождение в диапазон. Значения АЦП беру сам. Т.е. зная значение АЦП (грубо говоря Х) и значение параметра в данной точе и будучи уверенным, что оно лежит в нужных пределах, я могу сказать, что решение будет валидным.

 

решение +-sqrt(D)/2a может быть мнимым числом - контроллер посчитает полную фигню. С моим уравнением четвертой степени та же история. Просто пробросить эту точку я не могу, как считаете можно ли брать модуль D?

Я не знаю вашей ситуации.

 

Сложно оценить погрешность... :(

Как мне кажется, сам АЦП будет давать большую погрешность, чем ваши методы расчётов и плавающая арифметика.

 

И еще -ВОПРОС КО ВСЕМ:) Программа не готова, а мне уже надо начинать документацию.

Это обычное дело.

 

и вот какое дело - на плате предусмотрены разъемы и для программирования по JTAG, и для BSL. JTAG fuse я пережгу, но все равно останется возможность доступа к программе по BSL - по крайней мере стереть можно :05: Как полностью закрыть доступ к прошитой программе и по BSL? Разъем убирать уже поздно...

ОЧЕНЬ ВАЖНЫЙ ВОПРОС!

Как всегда простите за дилетантство :)

Если изделие будет законченным (т.е. в корпусе и т.д.), то пломбировкой. От чтения вы никак не защититтесь. Если уж захотят считать, то считают полюбому. Разворачивайте сервис, обслугу прибора и люди к вам потянутся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотя вероятность затереть firmware через BSL конечно же остается.

:crying: Проще наверное все-таки умолчать о возможности BSL :) Разъем совмещен с внешним - на COM, так что можно попытаться сделать вид, что BSL выводы "просто так".

 

 

Как мне кажется, сам АЦП будет давать большую погрешность, чем ваши методы расчётов и плавающая арифметика.

Хм. Вы так думаете? Да вроде нет, задаю максимальную длительность выборки, усредняю по 200 отсчетов(мкс), да и АЦП 12 разрядов - довольно точно, по-моему. По крайней мере, когда смотрю результаты преобразования АЦП в одном положении, то разница между данными максимум в 2 отсчета АЦП, погрешность 2/4096=0,04%

или вы не об этом? Я чего-то не понимаю? :05:

Если изделие будет законченным (т.е. в корпусе и т.д.), то пломбировкой. От чтения вы никак не защититтесь. Если уж захотят считать, то считают полюбому. Разворачивайте сервис, обслугу прибора и люди к вам потянутся.

Пломбировка - это, конечно, хорошо :) Но это не мое дело, мне вот вынь да положь описание, как именно я защищаю программу от доступа :) Вообще если когда-то будет серия, то мне, как я понимаю, вообще не нужны будут разъемы на плате, можно грузить этим e-z430 или как он называется и не париться. Но так как изделие еще делается, и делаться будет долго, то вот заложила целых два разъема, на случай, если jtag fuse уже пережгу, и вдруг что-то еще всплывет, и надо будет перепрошить. Вот. а теперь оказалось, что наоборот - надо защищаться. Мне-то, кстати, не жалко - пусть считывают - они там в моей женской логике ничего не поймут :biggrin:

кстати, с датчиками LIS3L06AL никто не работал? Это в теме, потому что про компас :biggrin: Если никто, то и ладно, придется поднимать новую тему... мне просто интересно, какие операционники с ним ставить и как включать, что-то как-то ничего хорошего не получается :(

Изменено пользователем Daria

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

они там в моей женской логике ничего не поймут :biggrin:

Вот это тема! Работать работает. А как -- хрен поймешь! Поневоле свой код с нуля будет написать дешевле. Это в том смысле, если кто будет займаться реинжинирингом Вашего девайса. А если серьезно, то для пиратов это ... ха-ха, они даже и разбираться не будут. Закопипастят и все дела.

 

Правда, пираты это будут делать только в том случае, если они будут иметь выход на потребителя (покупателя). Если потребитель -- Ваш, то вам особо беспокоиться не о чем. Ваше изделие никому, кроме него, не нужно. А потребитель, если у него мозги правильно работают, сам производством заниматься не будет. Он на другом делает деньги. Ему дешевле будет купить готовое изделие. Ваше изделие.

 

Почему узкоглазые так поперли? -- Потому что у них дешевое производство, дешевая рабочая сила.

Почему у нас так хреново? -- Потому что, мы не умеем делать большие серии недорогих изделий. Точнее так -- изделия у нас почему-то получаются дорогими, гы-гы. Догадываетесь почему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:crying: Проще наверное все-таки умолчать о возможности BSL :) Разъем совмещен с внешним - на COM, так что можно попытаться сделать вид, что BSL выводы "просто так".

Но так как изделие еще делается, и делаться будет долго, то вот заложила целых два разъема, на случай, если jtag fuse уже пережгу, и вдруг что-то еще всплывет, и надо будет перепрошить. Вот. а теперь оказалось, что наоборот - надо защищаться.

В таком случае BSL как опциональный разъем (отверстия на плате) можно оставить, а в прошивке реализовать свой собственный загрузчик с шифрованием типа AES. Но вообще нужно знать: что именно и от кого защищаем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В таком случае BSL как опциональный разъем (отверстия на плате) можно оставить, а в прошивке реализовать свой собственный загрузчик с шифрованием типа AES. Но вообще нужно знать: что именно и от кого защищаем?

Свой собственный загрузчик - это мне, наверное, еще не под силу :crying: А от кого защищаемся - это надо спросить у заказчика, надо полагать - от врагов:biggrin:

 

Почему узкоглазые так поперли? -- Потому что у них дешевое производство, дешевая рабочая сила.

Почему у нас так хреново? -- Потому что, мы не умеем делать большие серии недорогих изделий. Точнее так -- изделия у нас почему-то получаются дорогими, гы-гы. Догадываетесь почему?

Да, жутко дорогими или жутко огромными(если делать на отечественной комплектации, как у нас призывают), да и делаются жутко медленно(особенно если делают такие, как я :biggrin: )

Изменено пользователем Daria

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А от кого защищаемся - это надо спросить у заказчика, надо полагать - от врагов:biggrin:

Врага нужно идентифицировать. Можно защититься только от конкретного врага -- выдвигая конкретные контр-меры. А от гипотетического врага вообще нет никакой защиты, ибо о враге вы можете мыслить так, а на самом деле его оружие окажется на порядок совершеней Вашей защиты. И что тогда?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Врага нужно идентифицировать. Можно защититься только от конкретного врага -- выдвигая конкретные контр-меры. А от гипотетического врага вообще нет никакой защиты, ибо о враге вы можете мыслить так, а на самом деле его оружие окажется на порядок совершеней Вашей защиты. И что тогда?

Насколько я понял, враг идентифицирован - это начальник. Это он защиту хочет.

Защита тоже стандартная - прикинуться дурочкой. "А я не знала, что BSL баг".

Одобряю! :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я понял, враг идентифицирован - это начальник. Это он защиту хочет.

Защита тоже стандартная - прикинуться дурочкой. "А я не знала, что BSL баг".

Одобряю! :biggrin:

:biggrin: Ну, в основном заказчик. :biggrin: Начальник-то не будет вникать во всякие BSL-и, а заказчик может. И "не знала" не прокатит. Тут скорее - "не подумала", а потом "признаю свою вину. меру, степень, глубину", "все исправим, но потом". Главное, чтобы сначала прокатило :biggrin: Эх, вот уравнение решаться не хочет - это, действительно, проблема... :crying:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эх, вот уравнение решаться не хочет - это, действительно, проблема... :crying:

А что уравнение, Дарья? Перебором пробовали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что уравнение, Дарья? Перебором пробовали?

Эге! перебором! Решение-то может быть дробным, и лежит оно в диапазоне примерно от 500 до 2500 :biggrin: Нет, конечно, пытаюсь методом последовательных приближений, но не знаю способ подобрать хорошее начальное приближение... В общем, надо пытаться придумать другой способ, без уравнения четвертой степени. Ох, нехорошие у меня предчувствия...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем, надо пытаться придумать другой способ, без уравнения четвертой степени.

Ну, метод последовательных приближений - это немного улучшенный перебор :)

Обычно помогает физическая модель, максимально приближенная к реальности.

А когда модели нет ... . Мой последний опыт был 17-летней давности, подбор коэффициентов происходил за 15-20 с на PC XT.

Мир не изменился - теперешний MSP430 по быстродействию не хуже тогдашнего 8086.

Требования по быстродействию есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, метод последовательных приближений - это немного улучшенный перебор :)

Обычно помогает физическая модель, максимально приближенная к реальности.

А когда модели нет ... . Мой последний опыт был 17-летней давности, подбор коэффициентов происходил за 15-20 с на PC XT.

Мир не изменился - теперешний MSP430 по быстродействию не хуже тогдашнего 8086.

Требования по быстродействию есть?

Нет. можно ждать хоть минуту. Но коэффициенты-то как раз будут известны, они вычисляются по четырем возможным значениям кренов и четырем данным АЦП. Вопрос как решить. И что делать, если решение - мнимое... А Вы занимались-таки решением уравнений? ;) Может кинете какие-нибудь примеры, так, для размышления... Если не очень наглая просьба :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...