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

 
 
> Переписать содержимое адреса 0xFFFE
d7d1cd
сообщение Jul 17 2012, 02:58
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Привет всем! Почитав книжки понял, что записать Flash память можно, предварительно стерев ее. Минимально можно стереть 1 сегмент. Как мне поступить, если необходимо во время работы устройства на MSP430F149, при получении определенной команды по UART, поменять адрес вектора сброса? Ясно то, что чтобы поменять, нужно стереть сегмент 0. Но ведь тогда я потеряю адреса других векторов. Мне их нужно где-то хранить в программе, чтобы потом перезаписать? И больше никак?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
controller_m30
сообщение Jul 17 2012, 14:18
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Ну можно ещё на этапе программирования, по вектору сброса задать адрес на программу, которая будет брать адрес для перехода из сегмента например №50. И при получении по UART команды на перезапись вектора RESET, делать это в 50-ом сегменте. А 0 сегмент не трогать.
Последовательность будет такая:
1. По сигналу сброса проц. переходит по адресу взятому из FFFE
2. По этому адресу находится программа берущая адрес из ячейки (например) FC00. Программа берёт адрес и делает переход на основную программу.
3. При получении команды по UART переписывается вектор по адресу FC00. И всё. А 0 сегмент не трогаем.
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Jul 17 2012, 15:51
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Цитата(controller_m30 @ Jul 17 2012, 18:18) *
3. При получении команды по UART переписывается вектор по адресу FC00. И всё. А 0 сегмент не трогаем.

Так все равно адрес FC00 находится во флеш. Для перезаписи этого адреса надо стереть сегмент, где этот адрес лежит. А размер сегмента там гораздо больше, чем сегмент 0.


Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 07:30
Рейтинг@Mail.ru


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