Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Компилятор IAR из командной строки и из IDE
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
Alfa
Пытаюсь переползти из 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 работает корректно (по крайней мере на первый взгляд), но напрягает что есть отличия....

Есть идеи что я сделал неправильно?
VslavX
Мне кажется что при компиляции отличаются константы CONTRAST_MIN и CONTRAST_MAX. ИМХО, следует проверить пути и сравнить копии исходных файлов в проектах (для IAR IDE и Eclipse в разных же каталогах проекты храняться?).
Alfa
Цитата(VslavX @ Mar 23 2012, 11:09) *
Мне кажется что при компиляции отличаются константы CONTRAST_MIN и CONTRAST_MAX. ИМХО, следует проверить пути и сравнить копии исходных файлов в проектах (для IAR IDE и Eclipse в разных же каталогах проекты храняться?).



Позор на мою седую голову....
Спасибо за пинок в правильную сторону.....
KRS
Цитата(Alfa @ Mar 23 2012, 08:18) *
Тот же самый проект компилируется и собирается в IAR.

если есть проект для IAR - самый простой способ обойтись без мейка, (вернее сделать травильный мейк) просто вызвать IarBuild.exe указав проект traget и что делать. тогда будет компилироваться однозначно как в IAR, потому что IAR его и вызывает.
Alfa
Цитата(KRS @ Mar 23 2012, 13:19) *
если есть проект для IAR - самый простой способ обойтись без мейка, (вернее сделать травильный мейк) просто вызвать IarBuild.exe указав проект traget и что делать. тогда будет компилироваться однозначно как в IAR, потому что IAR его и вызывает.


Есть желание получить универсальное решение. Так что IarBuild.exe не катит.

PS: те куски листинга которые показывал теперь одинаковые (действительно исходники отличались) . В других файлах есть отличия, но там тоже видимо что менялось...



Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.