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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> IAP в LPC, баянистый вопрос наверное...
amusin
сообщение May 16 2006, 04:51
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 120
Регистрация: 2-09-05
Из: Екатеринбург
Пользователь №: 8 165



Цитата(GetSmart @ May 14 2006, 10:49) *
Просто, можно или нельзя обрабатывать прерывания?


Можно, читаем даташит (у меня на LPC213x)

Interrupts during IAP
The on-chip flash memory is not accessible during erase/write operations. When the user
application code starts executing the interrupt vectors from the user flash area are active.
The user should either disable interrupts, or ensure that user interrupt vectors are active in
RAM and that the interrupt handlers reside in RAM, before making a flash erase/write IAP
call. The IAP code does not use or disable interrupts.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 16 2006, 06:20
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(amusin @ May 16 2006, 07:51) *
Можно, читаем даташит (у меня на LPC213x)

Если это называть 'можно', то что тогда такое 'нельзя' :-(((


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 16 2006, 07:20
Сообщение #18


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Только что проверял прерывания когда обработчик в RAM. Не работает ни стирание сектора, ни запись. Виснет постоянно. Если бы не предыдущее сообщение, то так и забросил бы всё. Однако, я ступил вот в чём. Забыл таблицу векторов разместить в RAM! Какой же я дурак. Щас проверим.

Кто-нибудь, подскажите как разместить вектора в RAM? Как переключить вектора в RAM я знаю. Но как их там заполнить?

Не понял как вставить сюда файл, но только имя. Чтобы скачивать его уже с форума.

Сообщение отредактировал GetSmart - May 16 2006, 07:33


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 16 2006, 08:01
Сообщение #19


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Проверил стирание и запись флэш. Ха! Работает! На 100 кГц прерываниях ни одного не потерял!

zltigo, не буду больше Вас слушать!


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 16 2006, 08:41
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ May 16 2006, 11:01) *
zltigo, не буду больше Вас слушать!

Просто я не извращенец. Можете продолжать в своем вкусе.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 16 2006, 14:56
Сообщение #21


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата
Просто я не извращенец. Можете продолжать в своем вкусе.


Да ладно вам! Это не извращение. Вполне нормальный ход. Тем более не моя идея, а начальник требует всё-всё засунуть в один чип. Я вот до сих пор не могу понять как в IAR 4.2 нормальным методом сделать автоматическое размещение векторов прерываний в ОЗУ. То есть чтобы он их сам из флэша скопировал в ОЗУ. Например чтобы компилятор скопировал процедуру в ОЗУ нужно у неё в заголовке написать __ramfunc. А что написать и где для векторов прерываний? Сгодятся любые предложения! Вообще, у меня вектора прерываний оформлены в отдельном ASM-файле.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

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

 


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


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