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

 
 
> ISP бутлоaдер, Не читает стартовую страницу из Flash памяти
kolisnichenko_r
сообщение Mar 18 2016, 06:48
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 435
Регистрация: 12-09-07
Пользователь №: 30 482



МК LPC1549 – прошивка записывается (ISP бутлоaдер по CAN сети) и запускается. Нужно считать Flash для проверки. Читаю – в первой странице не то что должно быть. Защита от чтения не установлена.
Докопался до того места что для считывания первых 512 байт Flash памяти нужно в ISP загрузить кусочек кода который мапит Flash на нулевой адрес. То есть нужно в регистр SYSMEMREMAP (0x40074000 адрес) записать значение 0x02. Как это сделать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Mar 18 2016, 11:27
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Да это просто :-)
Длина команды thumb2 - 16 бит или 32. 32-битная константа напрямую в эту команду не влезает (нужно же место под код самой команды).
Можно положить константу рядом, и ссылаться на неё (что-то вроде LDR r0, [pc, #смещение-до константы]); компилятор так и делает.
Но руками проще загрузить в регистр за два раза, благо у кортексов команда MOVT сделана, похоже, специально для этого.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 26th August 2025 - 11:15
Рейтинг@Mail.ru


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