Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как прочитать flash C8051F410 Silabs
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
Chacha
Доброго дня! Есть МК C8051F410 Silabs. К нему прикручена феррооперативка FM75V02 256-Kbit.
Есть стандартный дебаг адаптер от того же Силабса. Подключаю его по C2 интерфейсу. Во вкладке Get Memory заполняю адреса на считывание flash, всё считывается, но в файле одни 00. Подскажите, пожалуйста, что я делаю не так? С силабсами дела, к счастью, раньше не имел. Lock Code Memory Write Lock Hex Value стоит в 0.
Может это защита от чтения так отрабатывает? Пробывал читать все адреса, везде 00.








Harbinger
1. На скриншоте выбрана не FLASH ("Code"), а RAM. Впрочем, в этом случае выходной файл не создастся.
2. Все нули в lock-байте означают, что от чтения защищена вся память. При этом выходной файл заполняется нулями.
Цитата
The flash security mechanism allows the user to lock n 512-byte flash pages, starting at page 0 (addresses 0x0000 to 0x01FF), where n is the 1’s complement number represented by the Security Lock Byte.

Чтобы читалась вся память, lock-байт должен быть 0xFF. Непонятно, как он нулевым вычитался... проверял, правда, на 990, а не на 410. У него 16 страниц FLASH против 63 у 410. Выглядит так: защита снята - отображается 0xFF. Устанавливаю нули, после повторного коннекта читается 0x0F - т.е. показывает уже в инвертированном виде со сброшенными старшими битами. И в конце файла этот же байт, перед ним все нули.
Chacha
Цитата(Harbinger @ Nov 9 2016, 10:30) *
1. На скриншоте выбрана не FLASH ("Code"), а RAM. Впрочем, в этом случае выходной файл не создастся.
2. Все нули в lock-байте означают, что от чтения защищена вся память. При этом выходной файл заполняется нулями.

Чтобы читалась вся память, lock-байт должен быть 0xFF. Непонятно, как он нулевым вычитался... проверял, правда, на 990, а не на 410. У него 16 страниц FLASH против 63 у 410. Выглядит так: защита снята - отображается 0xFF. Устанавливаю нули, после повторного коннекта читается 0x0F - т.е. показывает уже в инвертированном виде со сброшенными старшими битами. И в конце файла этот же байт, перед ним все нули.


Это я для примера) Та, да, как-то странно сделано, сначала выбираешь, что читать, потом задаёшь диапазон адресов. Как-то всё очень усложнено)

Вот это он считал lock-байт или это он записать предлагает?



А нет ли какого-го нибудь простого способа для снятия защиты?
Harbinger
Вроде предлагает записать. Можно проверить: на вкладке "Connect/Disconnect" отключиться и снова подключиться, после чего перейти на "Set Memory". Если защищена вся FLASH, должно отобразиться 0x3E (62 страницы).
Простой способ снятия защиты, увы, всего один: стирание всей FLASH-памяти. sad.gif
Chacha
Цитата(Harbinger @ Nov 10 2016, 10:22) *
Вроде предлагает записать. Можно проверить: на вкладке "Connect/Disconnect" отключиться и снова подключиться, после чего перейти на "Set Memory". Если защищена вся FLASH, должно отобразиться 0x3E (62 страницы).
Простой способ снятия защиты, увы, всего один: стирание всей FLASH-памяти. sad.gif


Спасибо. Понятно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.