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

Upd: почитал про DWT (Data Watchpoint and Trace) - не пойдет, процессор именно останавливается, а не генерирует исключение. Таки остается только MPU.

А про Flash Patch and Breakpoint (FPB)? Как я понимаю, надо читать документацию от ARM, а не от NXP.

 

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


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

А про Flash Patch and Breakpoint (FPB)? Как я понимаю, надо читать документацию от ARM, а не от NXP.

Угу, нуна читать "Cortex™-M3 r2p0 Technical Reference Manual".

FPB патчит I-шину, можно "на лету" заменить код инструкции. Мест там несколько, и одной инструкцией на место не обойдешься. На подпрограмму просто не перейдешь RAM от BootROM далеко, LR испортится, появляется вариабельность по версиям загрузчика и прочее. Проще патчить D-шину, а такой фичи в FPB нету. Хотя... Можно пропатчить на инструкцию SWI. Но, блин, это исключение у меня тоже используется. Думаю что на MPU сделать проще, во-первых не весь загрузчик дизассемблирован, возможно где-то есть еще обращения к глючной таблице, во-вторых c MPU уже досконально разобрался и он уже для виртуализации используется, проблема только в выносе части кода в RAM.

 

Upd: вчера провели ревизию склада - куплено пока всего две упаковки по 90 штук, на одной из них есть зеленая круглая наклейка и этикетка "RESCREEN". С MPU решил не возиться, вместо этого разбираю алгоритм прямой записи, хочется еще маленькими кусочками память писать а не по 256 байт.

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


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

С MPU решил не возиться, вместо этого разбираю алгоритм прямой записи, хочется еще маленькими кусочками память писать а не по 256 байт.

Вроде итак можно, хоть по 16 байт. Только ненужные байты забиваются 0xff.

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

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


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

Этот же баг обнаружился в LPC1759, SN1566.1 01 ZSD1009-.

Версия загрузчика 4.2.

Кстати, чтобы собрать всю информацию в одном месте:

Если смотреть память процессора через SWD с притянутой к земле P2.10 (запуск загрузчика), то по нулевым адресам видно ПЗУ загрузчика. Если с отпущенной - видно зашитую программу.

То же самое происходит при попытке верификации 0 сектора через ISP - возникает ошибка верификации.

 

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


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

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

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

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

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

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

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

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

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

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