Пытаюсь переползти из IDE IAR на Eclipse (компиляция из командной строки)...
Написан makefile для eclipse. Проект компилируется и собирается.
Тот же самый проект компилируется и собирается в IAR.
Логи компиляции в IAR и в Eclipse полностью совпадают (параметры передаваемые компилятору и линкеру).
Но выходной размер flash и озу получается разный....
Стал смотреть получаемые листинги отдельных файлов.
компиляция из eclipse:
8 072 bytes of CODE memory (+ 488 bytes shared)
81 bytes of CONST memory
25 bytes of DATA memory
компиляция из IAR:
8 060 bytes of CODE memory (+ 488 bytes shared)
81 bytes of CONST memory
25 bytes of DATA memory
кусок листинга eclipse
Код
621 // применим контрастность
622 AT91C_BASE_PWMC_CH3->PWMC_CUPDR=CONTRAST_MIN+ParametersPCN.Contrast*(CONTRAST_MAX-CONTRAST_MIN)/100;
\ 000005A4 E4249FE5 LDR R2,??FillInOutParamPCN_25 ;; 0xfffcc270
\ 000005A8 4500D7E5 LDRB R0,[R7, #+0x45]
\ 000005AC 4C10A0E3 MOV R1,#+0x4C
\ 000005B0 401E81E3 ORR R1,R1,#+0x400
\ 000005B4 910000E0 MUL R0,R1,R0
\ 000005B8 6410A0E3 MOV R1,#+0x64
\ 000005BC ........ _BLF ??div32_a,??rA??div32_a
\ 000005C0 7800A0E3 MOV R0,#+0x78
\ 000005C4 500E80E3 ORR R0,R0,#+0x500
\ 000005C8 010080E0 ADD R0,R0,R1
\ 000005CC 000082E5 STR R0,[R2, #+0]
кусок листинга IAR
Код
621 // применим контрастность
622 AT91C_BASE_PWMC_CH3->PWMC_CUPDR=CONTRAST_MIN+ParametersPCN.Contrast*(CONTRAST_MAX-CONTRAST_MIN)/100;
\ 000005A4 D8249FE5 LDR R2,??FillInOutParamPCN_25 ;; 0xfffcc270
\ 000005A8 4500D7E5 LDRB R0,[R7, #+0x45]
\ 000005AC 7D1EA0E3 MOV R1,#+0x7D0
\ 000005B0 910000E0 MUL R0,R1,R0
\ 000005B4 6410A0E3 MOV R1,#+0x64
\ 000005B8 ........ _BLF ??div32_a,??rA??div32_a
\ 000005BC 7D0F81E2 ADD R0,R1,#+0x1F4
\ 000005C0 000082E5 STR R0,[R2, #+0]
В принципе то что собралось в eclipse работает корректно (по крайней мере на первый взгляд), но напрягает что есть отличия....
Есть идеи что я сделал неправильно?