|
STM32, backup registers, как бы поудобнее реализовать с ними работу |
|
|
|
 |
Ответов
|
Jun 11 2010, 05:19
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Добился-таки "прозрачности", но на lpc1768.
Проверял так:
BYTE *bat;
bat = (BYTE *)0x30000000; // несуществующая память bat[0]=0x5A;
С позиций ядра bat[0]=num есть
STR rc, [ro]
rc - хранит число num, ro - хранит адрес назначения bat+0
Запись по несуществующему адресу вызывает исключение. В обработчике исключения подменяю ro на нужную ячейку памяти и выхожу (регистры R0-R3, R12 "проблемного участка" доступны через стек, остальные - напрямую). Команда STR выполняется еще раз, но уже с новым адресом.
У данного подхода есть ряд минусов: - нужен контроллер с MPU. на STM32 не смог получить исключение в месте, где произвожу запись. - поскольку rc и ro заранее не известны (впрочем команда тоже может быть не STR), то нужно анализировать инструкцию, которая привела к сбою. - после выполнения инструкции параметры портятся, поэтому инструкцию лучше эмулировать.
|
|
|
|
Сообщений в этой теме
sonycman STM32, backup registers Jun 7 2010, 19:22 baralgin Из RM0008:
Backup data register x (BKP_DRx) (x = 1... Jun 7 2010, 20:38 rezident Стесняюсь спросить, а компиляторы про эту фичу не ... Jun 7 2010, 20:48 sonycman Спасибо за советы.
Реализация в виде дефайнов слиш... Jun 9 2010, 12:34 baralgin Цитата(sonycman @ Jun 9 2010, 15:34) А во... Jun 9 2010, 18:43 adnega помним, что слова BKP_DRx 16-битные и между ними е... Jun 9 2010, 19:31 baralgin adnega
так именно из-за этого то и весь сыр-бор ра... Jun 9 2010, 20:11 adnega Мне кажется, что "прозрачность" будет за... Jun 10 2010, 07:45 sonycman Ну, необходимость вызова функций Load\Save и ... Jun 10 2010, 09:37 adnega Если под "прозрачностью" понимать непрер... Jun 10 2010, 09:46 sonycman Нет, в моём понимании "прозрачность" - э... Jun 10 2010, 10:39  adnega Цитата(Serj78 @ Dec 14 2010, 06:23) А у к... Dec 14 2010, 04:17  zoddy Цитата(Serj78 @ Dec 14 2010, 08:23) А у к... Dec 14 2010, 04:21 Serj78 А что включают ваши функции? (какие биты в каких ... Dec 14 2010, 06:55 zoddy Цитата(Serj78 @ Dec 14 2010, 11:55) А что... Dec 14 2010, 07:32  zoddy В общем, проверил на своей железяке вариант
RCC... Dec 14 2010, 07:57   AHTOXA А если немножко удлиннить программу, написав вмест... Dec 14 2010, 15:53    zoddy Цитата(AHTOXA @ Dec 14 2010, 23:53) А есл... Dec 15 2010, 04:36 Serj78 Да, спасибо! узел контроля питания ( 28-й бит... Dec 14 2010, 07:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|