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

Подскажите - вобще данная софтина умеет делать secure chip?

Одноименная опция в меню target всегда затенена, если ставить галку в опциях проекта для production- то это залочки просто не происходит..

Чип - STM32F103RB работаю по SWD, но не по SWD пробовал коннектиться до lpc2368 - опция затенена

 

Правда мне кажется что я раньше пробовал работало - но несколько месяцев назад , хотя допускаю , что память меня обманывает

 

Помогите пожалуйста, совсем клин - надо использовать а не можется :(

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


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

работает.

пожалуйста поясните поточнее - как работает ? пункт не затенен ?

какой интерфейс ? SWD или JTAG ? проц СТМ ?

девайс у Вас по всей видимости свой - у меня родной шестой версии , Вы наверное помните ...

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


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

пожалуйста поясните поточнее...

Давайте, Вы сначала расскажите, напимер о LPC. Защита реализована записью магического числа по определенном адресу. Вы как-то организовали в адресном пространстве местечко для этого, или?

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


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

Давайте, Вы сначала расскажите, напимер о LPC. Защита реализована записью магического числа по определенном адресу. Вы как-то организовали в адресном пространстве местечко для этого, или?

Я понимаю что наводящий вопрос всегда ценнее ответа :)

в каком адресном пространстве мне стоит организовать это место ? у меня есть hex сгенеренный иаром,

и есть желание записать это hex в 2368 (для начала) , а так же сделать так чтобы его обратно было стандартным путем не считать ...

Я создаю в j-flash проект указываю ему тип процессора и открываю hex файл... далее я могу выполнить несколько дейсвий - например "CONNECT" после чего ERASE и тому подобное , а опция "sicure chip" остается неактивной.

Подозреваю ,что защита в ЛПЦ , вроде бы осуществляется единым механизмом - как изнутри через запись по некоторому адресу фо влэш так и софтиной программатора (j-flash ) наверное тоже, вы не это имеете ввиду? Но даже если так, то в каком месте я должен место оставить под этот чудо регистр ? в hex файле?

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


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

Я понимаю что наводящий вопрос всегда ценнее ответа :)

Ага :). А ответа у меня нет - не пользую лишние приблуды для патченья кода, знаю только одно, что никто не сможет сделать патч с установкой защиты, если это не предусмотреть.

в каком адресном пространстве мне стоит организовать это место ?

Согласно документации на чип это адрес 0x1FC в User Manuale есть специальный раздел посвященный ISP.

Я создаю в j-flash проект..

Это уже финишные действия, а конкретные нюансы по резервированию этого места зависят от компилятора.

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


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

Ага :). А ответа у меня нет - не пользую лишние приблуды для патченья кода, знаю только одно, что никто не сможет сделать патч с установкой защиты, если это не предусмотреть.

1 лишняя приблуда для патченья кода - это в моем случае софт программатора , а именно JFlashARM.exe ?

2 ....предусмотреть... - это имеется в виду что при создании интерфейса Жтага надо было создать команду "залочить чип"?

Согласно документации на чип это адрес 0x1FC в User Manuale есть специальный раздел посвященный ISP.

Это полный ахтунг !

Я не скажу за всю Одессу но ИАР кладет прямо поверх этой ячейки КОД, когда используется стандартный файл линковки для этого камня из комплекта ИАРА !

 

 

Это уже финишные действия, а конкретные нюансы по резервированию этого места зависят от компилятора.

Теперь я понимаю что в случае с НХП это так , однако все же - есть платный инструмент - jflash

и в нем опция , или финишное действие - залочить ... я до сего дня не подозревал , что она в этом продукте реализована через запись во флэш волшебного числа по волшебному адресу. Думал что есть команда такая - лочить..

В любом случае, не понимаю - что мне нужно сделать чтобы это финишное действие стало активным ?

резервировать место в hex ? как об этом узнает софт программатора ?

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


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

1 лишняя приблуда для патченья кода - это в моем случае софт программатора , а именно JFlashARM.exe ?

Да, одна из его функций.

2 ....предусмотреть... - это имеется в виду что при создании интерфейса Жтага надо было создать команду "залочить чип"?

Не понял о чем это...

Я не скажу за всю Одессу но ИАР кладет прямо поверх этой ячейки КОД, когда используется стандартный файл линковки для этого камня из комплекта ИАРА !

Естественно. Просто скажите линкеру что-бы перестал это делать, поскольку на этом месте хотите поместить волшебное число, или поместите какую-то константу сами.

я до сего дня не подозревал , что она в этом продукте реализована через запись во флэш волшебного числа по волшебному адресу. Думал что есть команда такая - лочить..

Так никто не виноват в том, что "чукча не читатель, а писатель" :). Ведь этого никто не скрывал. Теперь узнали - хорошо!

В любом случае, не понимаю - что мне нужно сделать чтобы это финишное действие стало активным ?

резервировать место в hex ? как об этом узнает софт программатора ?

Зарезервировать и почитать документацию на эту приблуду, но скорее всего там должен быть изначально просто 0, или какая-то описанная в документации константа.

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


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

Естественно. Просто скажите линкеру что-бы перестал это делать, поскольку на этом месте хотите поместить волшебное число, или поместите какую-то константу сами.

Совершенно не естественно что посреди пространства предназначенного для обычного кода программ

существует ячейка содержимое которой влияет на поведение процессора относительно чтения/записи .

Перечитывая документацию на LPC 2368 (чукча скорее читатель) не могу найти места среди описания адресного пространства , в котором даваласm бы информация об исключительности данного места.

Еще более неестественно что ИАР генерит по умолчанию код в это место.

И в тройне не естественно , что FLASH magic, утилита- наследник без предупреждения этот код в волшебном месте перетирает.

 

Так никто не виноват в том, что "чукча не читатель, а писатель" :). Ведь этого никто не скрывал. Теперь узнали - хорошо!

Если речь идет о j-flash о котором я спрашивал - то _нигде_ в документации не объясняется принцип действия опции опции secure chip более детально нежели фраза "позволяет засекьюрить чип" :)

 

Зарезервировать и почитать документацию на эту приблуду, но скорее всего там должен быть изначально просто 0, или какая-то описанная в документации константа.

смотрю в книгу вижу - понятно что...

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


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

смотрю в книгу вижу - понятно что...

В какую книгу? Смотрите, как в Вашем компиляторе размещать константы по фиксированным адресам. V4 IAR это очень просто, в V5 несколько сложнее. Но в любом случае документированно подробно.

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


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

Теперь я понимаю что в случае с НХП это так , однако все же - есть платный инструмент - jflash

и в нем опция , или финишное действие - залочить ... я до сего дня не подозревал , что она в этом продукте реализована через запись во флэш волшебного числа по волшебному адресу. Думал что есть команда такая - лочить..

 

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

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


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

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

вот по существу а у вас "работает" с каким процем - с СТМ 32 ? у меня то проблема на самом деле с ним :)

 

 

В какую книгу? Смотрите, как в Вашем компиляторе размещать константы по фиксированным адресам. V4 IAR это очень просто, в V5 несколько сложнее. Но в любом случае документированно подробно.

выше Вы писали

Зарезервировать и почитать документацию на эту приблуду, но скорее всего там должен быть изначально просто 0, или какая-то описанная в документации константа.

Резервировать в ИАРЕ ? приблуда - jflash? документацию вы мне читать сначала на нее советовали ?

И что после того как в hex будет зарезервировано место под эту константу у меня затенение пропадет на "финишном действии" ?

Изначально я спрашивал про возможность залочить проц средствами софта программатора - то что он делает это в зависимости от типа процессора либо отдельной командой либо патчиньем кода (как следует из ответа уважаемого АДИКМ-а) , нигде в документации на данную приблуду не описано . У меня нет проблем разместить констанут по адресу ни через XLINK ни через icf новомодный.

Зачем мне читать доки на линкер, там что описано какой проц через какую заднюю дверь лочиться ?

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


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

И что после того как в hex будет зарезервировано место под эту константу у меня затенение пропадет на "финишном действии" ?

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

Зачем мне читать доки на линкер, там что описано какой проц через какую заднюю дверь лочиться ?

Из Ваших вопросов совершенно не следовало то, что Вы впитали эти знания с молоком матери, скорее совсем наоборот. Если тем не менее это так - немедленно выкитьте прочитанное из головы.

А что читать, так уже писал. Повторяю:

Согласно документации на чип это адрес 0x1FC в User Manuale есть специальный раздел посвященный ISP.

Я не виноват, что Вы и после этого

Перечитывая документацию на LPC 2368 (чукча скорее читатель) не могу найти места среди описания адресного пространства , в котором даваласm бы информация об исключительности данного места.

Специально показываю пальцем:

Chapter 29: LPC23XX Flash memory programming firmware
               6. Code Read Protection (CRP)
Code Read Protection is a mechanism that allows user to enable different levels of 
security in the system so that access to the on-chip flash and use of the ISP can be 
restricted. When needed, CRP is invoked by programming a specific pattern in flash 
location at 0x000001FC. IAP commands are not affected by the code read protection.
Starting with bootloader version 3.2 three levels of CRP are implemented. Earlier 
bootloader versions had only CRP2 option implemented.
Important: Any CRP change becomes effective only after the device has gone 
through a power cycle.

Table 517. Code Read Protection options
и далее по тексту....

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


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

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

очень по существу исходного вопроса получается :

Подскажите - вобще данная софтина умеет делать secure chip?

Одноименная опция в меню target всегда затенена, если ставить галку в опциях проекта для production- то это залочки просто не происходит..

Специально показываю пальцем:

Chapter 29: LPC23XX Flash memory programming firmware

Спасибо!., Спорить бессмысленно ,в исходном тексте присутствует необходимая и достаточная информация по работе с данным конкретным адресом. И я ее вижу (аж в двух местах , в главе system control и в главе flash memory). Однако мина для людей которые по недомыслию исполюзуют файлы линкера, пришедшие с иаром, никуда от этого не девается.

 

PS и Я подозреваю что ответ у Вас был, такой же как у уважаемого АДИКМа, вытяжку из которого предлагаю оставить как финал темы , "чтоб яснее было":

 

Разные армы защищаються по разному - некоторые имеют бит защиты, такие как sam7, а некоторые

имеют только команды защиты изнутри (например по содержимому конкретного адреса), такие как NXP. В этом случае софт программатора занимается патчиньем кода.

Процессоры линии STM 32 имеют механизм в котором ячейка ответственная за code read protection не отражается на пространство доступное для записи извне . Следовательно единственный путь защитить содержимое от чтения - вставить в начало программы процедуру залочки процессора, а для верности в софте программатора поставить галку "start application after program".

 

PS. В процессорах STM32f103 по установки CRP не отключается JTAG или SWD, остаються все возможности отлаживаться в памяти , но блокируется доступ к "памяти программ" , снятие же этого лока программой пролитой в RAM в дебаг режиме принудительно инициирует процесс массовой очистки флэша. Уж не знаю радоваться такой сложно-сочиненной системе защиты или огорчаться. Даже в LPC 21й серии , где есть CRP после которого "access to chip via JTAG pins is disabled", в начальных ревизиях защита была сломана "неинвазивным путем вмешательства".

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


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

очень по существу исходного вопроса получается :

Оффтопик:

Понял, Вы относитесь к тому типу людей, которые считают, что существуют только простые и ясные ответы недалеко ушедшие от Да/Нет и к черту подробности. Ну не было у меня такого ответа не смотря на Ваши "подозрения"! Я дурно поступил, что попытался поделиться знанями, предположениями и соображениями?

Это тот случай, когда ответ Да/Нет меня вполне устроит.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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