|
Проанализировал файл *.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