(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено zlogic 05 ноября 2004 г. 18:08
В ответ на: почитай release notes -- они там как раз оптимизацией оверлеев и занимались отправлено bialix 05 ноября 2004 г. 16:37

Проанализировал файл *.COD...
В проекте в самом начале три функции INTERRUPT...
Ежику понятно, что в начале и должны быть команды перехода на эти функции...
В версии 7.20 так и было три JMPа...

000003 023FCD LJMP 03FCDH
00000B 023FE6 LJMP 03FE6H
00001B 024043 LJMP 04043H

А в версии 7.50 в самом начале лежит кусок кода!

----- FUNCTION ?L?COM00A2 (BEGIN) -----
000003 E4 CLR A
000004 FF MOV R7,A
000005 124F21 LCALL _LCDReady
000008 74BF MOV A,#0BFH
00000A 22 RET
----- FUNCTION ?L?COM00A2 (END) -------

Вот в этом месте и предупреждение, что сегменты перекрываются...
*** WARNING L30: MEMORY SPACE OVERLAP
FROM: C:000003H
TO: C:000006H

Короче, 7.50 не работает правильно с уровнем оптимизации 9 компилятора и Linker Code Packing...
Такого косяка (чтобы старые проекты в новой версии ПО не работали)раньше точно не замечено было...
Я с 6.хх по 7.50 версии прошел... А сколько их было!

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru