Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 11.09.2011, 22:55  
anapogo
Почётный гражданин KAZUS.RU
 
Аватар для anapogo
 
Регистрация: 12.12.2010
Адрес: Житомир
Сообщений: 1,528
Сказал спасибо: 327
Сказали Спасибо 412 раз(а) в 284 сообщении(ях)
anapogo на пути к лучшему
По умолчанию 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

удаляю эту строку = все работает
Реклама:
anapogo вне форума  
Непрочитано 12.09.2011, 06:50  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: AVR IAR EEPROM PROTEUS

Под какой МК пишете программу? Если под AVR, то там действительно нет такого опкода (0x0001), учитывая, то, что строчек подобных ee_tp_map [1][1]= 1 в программе много, то, можно утверждать, что проблема скорее всего в протеусе, сделайте отладку, там будет виднее.
nonamedov вне форума  
Непрочитано 12.09.2011, 13:34  
anapogo
Почётный гражданин KAZUS.RU
 
Аватар для anapogo
 
Регистрация: 12.12.2010
Адрес: Житомир
Сообщений: 1,528
Сказал спасибо: 327
Сказали Спасибо 412 раз(а) в 284 сообщении(ях)
anapogo на пути к лучшему
По умолчанию 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];
anapogo вне форума  
Непрочитано 12.09.2011, 14:34  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: AVR IAR EEPROM PROTEUS

Я предполагаю что вы не тот файл грузите в Proteus.
SasaVitebsk вне форума  
Непрочитано 12.09.2011, 14:49  
TEHb
Почётный гражданин KAZUS.RU
 
Аватар для TEHb
 
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
TEHb на пути к лучшему
По умолчанию Re: AVR IAR EEPROM PROTEUS

Это ошибка в загрузчике прошивки в Proteus.
На самом деле такая ситуация не проверялась, и до сих пор никто не жаловался насчет этого, т.е. никто этим не пользуется.
Если пришлете тестовую прошивку (хотя бы в .hex) погляжу что можно сделать. Скорее просто заменю фатальную ошибку с прерыванием симуляции на просто предупреждение об ошибке. Не нравится "шум" в журнале симуляции, и при этом понимаете что делаете - отключайте сообщения загрузчика в настройках. Мне сообщение о такой ошибке много раз помогало, когда выбирал неправильный файл.
TEHb вне форума  
Непрочитано 12.09.2011, 17:06  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию 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 ), протеусу такой файл не нужен и проблем нет.
nonamedov вне форума  
Непрочитано 12.09.2011, 17:10  
TEHb
Почётный гражданин KAZUS.RU
 
Аватар для TEHb
 
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
TEHb на пути к лучшему
По умолчанию Re: AVR IAR EEPROM PROTEUS

Сообщение от nonamedov Посмотреть сообщение
Я не использую ИАР, но мне стало понятно, что протеус, не находит файл с инициализацией переменных в ЕЕПРОМ, а при объявлении переменных ЕЕПРОМ без инициализации (__no_init ), протеусу такой файл не нужен и проблем нет.
Переменная с инициализацией в EEPROM попадает в прошивку, в адреса соответствующие памяти программ. При загрузке автоматически происходит декодирование команд. С переменной без инициализации такого не приосходит, т.к. в прошивке её нет.
TEHb вне форума  
Непрочитано 12.09.2011, 17:58  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: AVR IAR EEPROM PROTEUS

TEHb, В протеусе нет возможности загрузить прошивку ЕЕПРОМ, в программаторах такая возможность есть, думаю, в компиляторе должна быть возможность настройки. CV такого нет, видимо(собственно, это несложно проверить), инициализация переменных в ЕЕПРОМ происходит в теле самой программы, а в IAR нет. Надо посмотреть ассеблерный файл.
nonamedov вне форума  
Непрочитано 12.09.2011, 20:20  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: AVR IAR EEPROM PROTEUS

Сообщение от nonamedov Посмотреть сообщение
В протеусе нет возможности загрузить прошивку ЕЕПРОМ
Неправда. Прошивку EEPROM в формате BIN можно и нужно загружать в модель МК. Программа HEX2BIN.EXE поможет сконвертировать привычный вам кекс в бинарник.
ut1wpr вне форума  
Непрочитано 12.09.2011, 20:32  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: AVR IAR EEPROM PROTEUS

Сообщение от ut1wpr Посмотреть сообщение
Неправда. Прошивку EEPROM в формате BIN можно и нужно загружать в модель МК.
У меня протеус 7.6, для модели ATTINY2313 я ее не нашел (не вижу), только загрузка программной прошивки.
nonamedov вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
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, время: 21:42.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot