[an error occurred while processing this directive]
Единственное примерно верное предположение высказал "дедушка". Остальные несут полную чушь...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
data - это 0x00-0xff, однако с 0x80 идут служебные регистры и Keil это отслеживает и адресовать выше 0x7f не даст.
idata - это 0x00-0xff, т.е. это область косвенной адресации через R0 и R1. Всю область можно адресовать прямо через _at_ и не надо слушать неучей, Keil в никогда не путает косвенную и прямую адресацию.
Ваш случай - это конфликт локальных переменных Keil с прямо адресуемой структурой. Keil временные переменные располагает в области от 0x30 до 0x7f. Так, что надо либо уменьшить количество локальных переменных, либо брать процессоры с большей памятью.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Вы прежде чем херню говорить прочитайте описание — Elektronik (21.12.2002 21:54, 538 байт)
- Милый, Вы Keil зуб пробовали? "Хотя idata и применима к младшим адресам ОЗУ..." - единственная фраза нормального человека! А повторять ахинею не надо! Если не указать начальный адрес idata как 0x80 в опциях проекта, то Keil, будет лепить переменные idata и в data сегменте! Вопрос-то был не о быстродействии (ему, может, быстродействие не к чему), а Вы человека в заблуждение вводите. Да где угодно можно применять _at_, и в data, idata, pdata, xdata, лишь бы место было в сегменте. — New__body (21.12.2002 22:21, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru