Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
11.09.2011, 22:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.12.2010
Адрес: Житомир
Сообщений: 1,530
Сказал спасибо: 330
Сказали Спасибо 415 раз(а) в 287 сообщении(ях)
|
AVR IAR EEPROM PROTEUS
ЗДРАВСТВУЙТЕ Уважаемые
Возникла проблема
В IAR пишу
unsigned char __eeprom ee_tp_map [7][8];
int main( void )
………………..
ee_tp_map [1][1]= 1;
…………………..
return 0;
IAR компилирует без ошибок
А протеус выдает ошибку –
invalid opcode 0x0001 at PC=0x0042
удаляю эту строку = все работает
|
|
|
|
12.09.2011, 06:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: AVR IAR EEPROM PROTEUS
Под какой МК пишете программу? Если под AVR, то там действительно нет такого опкода (0x0001), учитывая, то, что строчек подобных ee_tp_map [1][1]= 1 в программе много, то, можно утверждать, что проблема скорее всего в протеусе, сделайте отладку, там будет виднее.
|
|
|
|
12.09.2011, 13:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.12.2010
Адрес: Житомир
Сообщений: 1,530
Сказал спасибо: 330
Сказали Спасибо 415 раз(а) в 287 сообщении(ях)
|
Re: AVR IAR EEPROM PROTEUS
Вопрос решился добавлением к строке:
unsigned char __eeprom ee_tp_map [7][8];
__no_init
Вот так ошибку не выдает:
__no_init unsigned char __eeprom ee_tp_map [7][8];
|
|
|
|
12.09.2011, 14:34
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: AVR IAR EEPROM PROTEUS
Я предполагаю что вы не тот файл грузите в Proteus.
|
|
|
|
12.09.2011, 14:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Re: AVR IAR EEPROM PROTEUS
Это ошибка в загрузчике прошивки в Proteus.
На самом деле такая ситуация не проверялась, и до сих пор никто не жаловался насчет этого, т.е. никто этим не пользуется.
Если пришлете тестовую прошивку (хотя бы в .hex) погляжу что можно сделать. Скорее просто заменю фатальную ошибку с прерыванием симуляции на просто предупреждение об ошибке. Не нравится "шум" в журнале симуляции, и при этом понимаете что делаете - отключайте сообщения загрузчика в настройках. Мне сообщение о такой ошибке много раз помогало, когда выбирал неправильный файл.
|
|
|
|
12.09.2011, 17:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: AVR IAR EEPROM PROTEUS
Сообщение от anapogo
|
Вопрос решился добавлением к строке:
unsigned char __eeprom ee_tp_map [7][8];
__no_init
Вот так ошибку не выдает:
__no_init unsigned char __eeprom ee_tp_map [7][8];
|
Я не использую ИАР, но мне стало понятно, что протеус, не находит файл с инициализацией переменных в ЕЕПРОМ, а при объявлении переменных ЕЕПРОМ без инициализации (__no_init ), протеусу такой файл не нужен и проблем нет.
|
|
|
|
12.09.2011, 17:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Re: AVR IAR EEPROM PROTEUS
Сообщение от nonamedov
|
Я не использую ИАР, но мне стало понятно, что протеус, не находит файл с инициализацией переменных в ЕЕПРОМ, а при объявлении переменных ЕЕПРОМ без инициализации (__no_init ), протеусу такой файл не нужен и проблем нет.
|
Переменная с инициализацией в EEPROM попадает в прошивку, в адреса соответствующие памяти программ. При загрузке автоматически происходит декодирование команд. С переменной без инициализации такого не приосходит, т.к. в прошивке её нет.
|
|
|
|
12.09.2011, 17:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: AVR IAR EEPROM PROTEUS
TEHb, В протеусе нет возможности загрузить прошивку ЕЕПРОМ, в программаторах такая возможность есть, думаю, в компиляторе должна быть возможность настройки. CV такого нет, видимо(собственно, это несложно проверить), инициализация переменных в ЕЕПРОМ происходит в теле самой программы, а в IAR нет. Надо посмотреть ассеблерный файл.
|
|
|
|
12.09.2011, 20:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: AVR IAR EEPROM PROTEUS
Сообщение от nonamedov
|
В протеусе нет возможности загрузить прошивку ЕЕПРОМ
|
Неправда. Прошивку EEPROM в формате BIN можно и нужно загружать в модель МК. Программа HEX2BIN.EXE поможет сконвертировать привычный вам кекс в бинарник.
|
|
|
|
12.09.2011, 20:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: AVR IAR EEPROM PROTEUS
Сообщение от ut1wpr
|
Неправда. Прошивку EEPROM в формате BIN можно и нужно загружать в модель МК.
|
У меня протеус 7.6, для модели ATTINY2313 я ее не нашел (не вижу), только загрузка программной прошивки.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Как подружить AVR Studio и Proteus?
|
Serge_Serge_ |
Proteus |
27 |
13.12.2011 20:44 |
Литература по микроконтроллерам (AVR, PIC, ПЛИС и т.д.). Сборка книг - (256 книг+ 27 CD c примерами из книг) [обновление 2011, PDF, DJVU]
|
yurinform |
Микроконтроллеры, АЦП, память и т.д |
5 |
05.07.2011 19:00 |
Работа с EEPROM в IAR 5.50 AVR
|
sbcentr |
Микроконтроллеры, АЦП, память и т.д |
6 |
23.06.2010 00:03 |
[Решено] Проблема с eeprom в Proteus
|
Memfis666 |
Proteus, KiCAD и другие ECAD |
1 |
01.10.2009 15:38 |
IAR C for AVR. как создать файл для внешнего EEPROM?
|
prottoss |
Микроконтроллеры, АЦП, память и т.д |
7 |
07.11.2005 22:19 |
Часовой пояс GMT +4, время: 05:23.
|
|