реклама на сайте
подробности

 
 
> Компилятор IAR из командной строки и из IDE, Результат должен совпадать?!
Alfa
сообщение Mar 23 2012, 04:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 9-02-06
Из: Челябинск
Пользователь №: 14 160



Пытаюсь переползти из 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 работает корректно (по крайней мере на первый взгляд), но напрягает что есть отличия....

Есть идеи что я сделал неправильно?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 14:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01344 секунд с 7
ELECTRONIX ©2004-2016