http://narod.ru/disk/11031867000/Rus_Proteus_7.5SP3-1.exe.html
Proteus: вопросы и ответы
Есть проблема с Proteus и ATMega8. Запускал программу и заметил, что протеус пишет очень много сообщений (внизу, возле кнопок симулятора) типа такого:
!PC=0x0016. [AVR MEMORY] Writing to memory location 0x04FF outside of memory size 0x0460
!PC=0x0016. [AVR MEMORY] Writing to memory location 0x04FE outside of memory size 0x0460
!PC=0x004A. [AVR MEMORY] Writing to memory location 0x04FD outside of memory size 0x0460
!PC=0x004A. [AVR MEMORY] Writing to memory location 0x04FC outside of memory size 0x0460
!PC=0x0000. [AVR CPU] RET address = 0x0000.
За 2-3 минуты набегало несколько тысяч. К тому же программа не правильно работает. При симуляции периодически комп тормозил, когда просчитывал, писал несколько сот сообщений и дальше работал. Долго разбирался, выяснил, что ошибка там, где идет команда обращения к подпрограмме RCALL и RET. При замене RCALL и RET на RJMP, все работает хорошо. Получается вся проблема в работе со стеком, причем данная программа на старых версиях протеуса (там, где окно свойств ATmega8 маленькое, а не такое как в последних версиях) работает отлично. Получается, что не правильная симуляция ATmega8 в последних версиях протеуса. В поиске ни чего такого не попалось.
Если кто-то сталкивался и знает об этом, напишите. Если ни кто не знает, то расскажу мои дальнейшие эксперименты.
!PC=0x0016. [AVR MEMORY] Writing to memory location 0x04FF outside of memory size 0x0460
!PC=0x0016. [AVR MEMORY] Writing to memory location 0x04FE outside of memory size 0x0460
!PC=0x004A. [AVR MEMORY] Writing to memory location 0x04FD outside of memory size 0x0460
!PC=0x004A. [AVR MEMORY] Writing to memory location 0x04FC outside of memory size 0x0460
!PC=0x0000. [AVR CPU] RET address = 0x0000.
За 2-3 минуты набегало несколько тысяч. К тому же программа не правильно работает. При симуляции периодически комп тормозил, когда просчитывал, писал несколько сот сообщений и дальше работал. Долго разбирался, выяснил, что ошибка там, где идет команда обращения к подпрограмме RCALL и RET. При замене RCALL и RET на RJMP, все работает хорошо. Получается вся проблема в работе со стеком, причем данная программа на старых версиях протеуса (там, где окно свойств ATmega8 маленькое, а не такое как в последних версиях) работает отлично. Получается, что не правильная симуляция ATmega8 в последних версиях протеуса. В поиске ни чего такого не попалось.
Если кто-то сталкивался и знает об этом, напишите. Если ни кто не знает, то расскажу мои дальнейшие эксперименты.
После долгих мучений, решил написать маленькую программу.
Используется:
-контроллер ATmega8
-две кнопки
-два светодиода. (третий светодиод просто как индикация.)
Алгоритм такой:
- при нажатии на кнопку «RJMP» на время загорается зеленый светодиод и гаснет, работа с командой RJMP
- при нажатии на кнопку «RCALL» 5 раз моргает красный светодиод, используется команда RCALL.
В архиве находится
- файл .asm и проект AVR Studio 4
- файл .hex данной программы
- файл test – проект Proteus с использованием нового контроллера ATmega8
- файл test2 – проект Proteus с использованием старого контроллера ATmega8
В обоих файлах протеуса используется один и тот же файл hex.
В AVR Studio в проекте отмечено место где можно поменять местами команды RJMP и RCALL, разница в протеусе новой версии заметна.
У меня установлен Proteus 7.5 SP3. Файлы протеуса отличаются разницей в контроллере, которая видна сразу после открывания свойств. Оба проекта работают с данной версией протеуса, только не нужно в протеусе выбирать контроллер, потому, что программа заменит старый контроллер на новый.
Думаю разберётесь и увидите разницу. Чем больше используется стек контроллера (чем больше нажимать кнопку "RCALL"), тем больше пишется сообщений. Может нужно просто что-то изменить, а может и сам контроллер как-то не так работает. На железе не пробовал.
Завтра уезжаю в отпуск, так что приеду появлюсь. Спасибо.
Используется:
-контроллер ATmega8
-две кнопки
-два светодиода. (третий светодиод просто как индикация.)
Алгоритм такой:
- при нажатии на кнопку «RJMP» на время загорается зеленый светодиод и гаснет, работа с командой RJMP
- при нажатии на кнопку «RCALL» 5 раз моргает красный светодиод, используется команда RCALL.
В архиве находится
- файл .asm и проект AVR Studio 4
- файл .hex данной программы
- файл test – проект Proteus с использованием нового контроллера ATmega8
- файл test2 – проект Proteus с использованием старого контроллера ATmega8
В обоих файлах протеуса используется один и тот же файл hex.
В AVR Studio в проекте отмечено место где можно поменять местами команды RJMP и RCALL, разница в протеусе новой версии заметна.
У меня установлен Proteus 7.5 SP3. Файлы протеуса отличаются разницей в контроллере, которая видна сразу после открывания свойств. Оба проекта работают с данной версией протеуса, только не нужно в протеусе выбирать контроллер, потому, что программа заменит старый контроллер на новый.
Думаю разберётесь и увидите разницу. Чем больше используется стек контроллера (чем больше нажимать кнопку "RCALL"), тем больше пишется сообщений. Может нужно просто что-то изменить, а может и сам контроллер как-то не так работает. На железе не пробовал.
Завтра уезжаю в отпуск, так что приеду появлюсь. Спасибо.
- Вложения
-
- test_proteus.rar
- (56.03 КБ) 450 скачиваний
-
Chettuser
Привет форумчане!
Столкнулся с проблемой: после руссификации версии 7.2 (непомню уже откуда качал
) появились "краказябры" в свойствах некоторых компонентов (например генератор SINE) например вместо надписи выбора режима (чего там было незнаю) стоят такие символы: "!8=СА>840;L=K9" и прочее... Откатываться обратно на англ нехочу - придётся заново ставить, а у меня работает с флешки.
Вопрос: как подправить шрифты? Может кто сталкивался?
Столкнулся с проблемой: после руссификации версии 7.2 (непомню уже откуда качал
Вопрос: как подправить шрифты? Может кто сталкивался?
- as205
- Родился
- Сообщения: 11
- Зарегистрирован: Пн май 25, 2009 19:54:57
- Откуда: ломается Proteus?
- Контактная информация:
DLPCASB писал(а):Можно попробовать изменить кодовую страницу в Windows.
В Windows XP делаем так:
1. Пуск->Выполнить->regedit
2. Заходим в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage.
3. Находим параметры 1252, 1253 и меняем их значения на c_1251.nls.
Для протеуса так не получится. Переходите на версии 7.4 или 7.5 протеуса. Там уже этого нет.
Chettuser писал(а):Привет форумчане!
Столкнулся с проблемой: после руссификации версии 7.2 (непомню уже откуда качал) появились "краказябры" в свойствах некоторых компонентов (например генератор SINE) например вместо надписи выбора режима (чего там было незнаю) стоят такие символы: "!8=СА>840;L=K9" и прочее... Откатываться обратно на англ нехочу - придётся заново ставить, а у меня работает с флешки.
Вопрос: как подправить шрифты? Может кто сталкивался?
Сколка раз было сказано для 7.2 не было нормального русификатора.
"...ОПЫТ, СЫН ОШИБОК ТРУДНЫХ..."
-
Chettuser
DLPCASB писал(а):Можно попробовать изменить кодовую страницу в Windows.
В Windows XP делаем так:
1. Пуск->Выполнить->regedit
2. Заходим в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage.
3. Находим параметры 1252, 1253 и меня...
Спасибо, попробовал - непроканало - видать судьба такая
to SABA:
А "Сколка" раз? В ЭТОЙ ветке ничего не было про "отсутствие нормального руссификатора"... (может я пропустил?)
Последний раз редактировалось Chettuser Пн авг 17, 2009 17:33:17, всего редактировалось 1 раз.
-
Chettuser
as205 писал(а):DLPCASB писал(а):Можно попробовать изменить кодовую страницу в Windows.
В Windows XP делаем так:
1. Пуск->Выполнить->regedit
2. Заходим в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage.
3. Находим параметры 1252, 1253 и меняем их значения на c_1251.nls.
Для протеуса так не получится. Переходите на версии 7.4 или 7.5 протеуса. Там уже этого нет.
Спасибо!!! А 7.6???
- as205
- Родился
- Сообщения: 11
- Зарегистрирован: Пн май 25, 2009 19:54:57
- Откуда: ломается Proteus?
- Контактная информация:
Chettuser писал(а):Спасибо, попробовал - непроканало - видать судьба такая
to SABA:
А "Сколка" раз? В ЭТОЙ ветке ничего не было про "отсутствие нормального руссификатора"... (может я пропустил?)
http://radiokot.ru/forum/viewtopic.php?p=255468#255468