реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Как защитить код от чтения в IAR
Кирилл__
сообщение Jun 20 2012, 12:32
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 5-04-12
Пользователь №: 71 202



Добрый день.

У меня мк TI на Cortex-M3. Защита кода на нем осуществляется запретом определенных страниц флэш-памяти на чтение. Однако при компиляции IAR создает после каждой функции некие области "??DataTable....", в которых хранится инфа по глобальным переменным. После установки защиты выполнение кода стопарится на инструкции, которая обращается к таким DataTable.
Я попытался вынести функции в отдельную секцию, чтобы отделить код от данных, но DataTable переносятся туда вслед за ними, и программа опять же стопарится.
Есть еще MPU, но он тоже не приносит счастья, а валится в fault. В случае MPU я указываю права: привелегированному RW, пользователю запрет доступа.

Подскажите, пожалуйста, как мне защиту кода выставить?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 20 2012, 12:39
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Кирилл__ @ Jun 20 2012, 15:32) *
После установки защиты выполнение кода стопарится на инструкции, которая обращается к таким DataTable.
Ищите причину в чем-то другом. После установки защиты запрещается чтение флеши извне, но никак не запрещается чтение из программы, исполняемой из этой самой флеши.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Кирилл__
сообщение Jun 22 2012, 06:33
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 5-04-12
Пользователь №: 71 202



Цитата(Сергей Борщ @ Jun 20 2012, 16:39) *
Ищите причину в чем-то другом. После установки защиты запрещается чтение флеши извне, но никак не запрещается чтение из программы, исполняемой из этой самой флеши.

Да вот в том-то и дело, что запрещается.
С другой стороны, есть еще MPU. Но тут я прошу поддержки у знатоков: какие права выставить для региона памяти?
Я поставил привелегированный RW, пользователь NO. В результате через JTAG код читается, а нужно, чтобы не читался.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 21:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016