amusin 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Просто, можно или нельзя обрабатывать прерывания? Можно, читаем даташит (у меня на 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Можно, читаем даташит (у меня на LPC213x) Если это называть 'можно', то что тогда такое 'нельзя' :-((( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 16 мая, 2006 Опубликовано 16 мая, 2006 (изменено) · Жалоба Только что проверял прерывания когда обработчик в RAM. Не работает ни стирание сектора, ни запись. Виснет постоянно. Если бы не предыдущее сообщение, то так и забросил бы всё. Однако, я ступил вот в чём. Забыл таблицу векторов разместить в RAM! Какой же я дурак. Щас проверим. Кто-нибудь, подскажите как разместить вектора в RAM? Как переключить вектора в RAM я знаю. Но как их там заполнить? Не понял как вставить сюда файл, но только имя. Чтобы скачивать его уже с форума. Изменено 16 мая, 2006 пользователем GetSmart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Проверил стирание и запись флэш. Ха! Работает! На 100 кГц прерываниях ни одного не потерял! zltigo, не буду больше Вас слушать! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба zltigo, не буду больше Вас слушать! Просто я не извращенец. Можете продолжать в своем вкусе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 16 мая, 2006 Опубликовано 16 мая, 2006 · Жалоба Просто я не извращенец. Можете продолжать в своем вкусе. Да ладно вам! Это не извращение. Вполне нормальный ход. Тем более не моя идея, а начальник требует всё-всё засунуть в один чип. Я вот до сих пор не могу понять как в IAR 4.2 нормальным методом сделать автоматическое размещение векторов прерываний в ОЗУ. То есть чтобы он их сам из флэша скопировал в ОЗУ. Например чтобы компилятор скопировал процедуру в ОЗУ нужно у неё в заголовке написать __ramfunc. А что написать и где для векторов прерываний? Сгодятся любые предложения! Вообще, у меня вектора прерываний оформлены в отдельном ASM-файле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться