Alfa 0 23 марта, 2012 Опубликовано 23 марта, 2012 · Жалоба Пытаюсь переползти из 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 0 23 марта, 2012 Опубликовано 23 марта, 2012 · Жалоба Мне кажется что при компиляции отличаются константы CONTRAST_MIN и CONTRAST_MAX. ИМХО, следует проверить пути и сравнить копии исходных файлов в проектах (для IAR IDE и Eclipse в разных же каталогах проекты храняться?). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alfa 0 23 марта, 2012 Опубликовано 23 марта, 2012 · Жалоба Мне кажется что при компиляции отличаются константы CONTRAST_MIN и CONTRAST_MAX. ИМХО, следует проверить пути и сравнить копии исходных файлов в проектах (для IAR IDE и Eclipse в разных же каталогах проекты храняться?). Позор на мою седую голову.... Спасибо за пинок в правильную сторону..... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 23 марта, 2012 Опубликовано 23 марта, 2012 · Жалоба Тот же самый проект компилируется и собирается в IAR. если есть проект для IAR - самый простой способ обойтись без мейка, (вернее сделать травильный мейк) просто вызвать IarBuild.exe указав проект traget и что делать. тогда будет компилироваться однозначно как в IAR, потому что IAR его и вызывает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alfa 0 23 марта, 2012 Опубликовано 23 марта, 2012 · Жалоба если есть проект для IAR - самый простой способ обойтись без мейка, (вернее сделать травильный мейк) просто вызвать IarBuild.exe указав проект traget и что делать. тогда будет компилироваться однозначно как в IAR, потому что IAR его и вызывает. Есть желание получить универсальное решение. Так что IarBuild.exe не катит. PS: те куски листинга которые показывал теперь одинаковые (действительно исходники отличались) . В других файлах есть отличия, но там тоже видимо что менялось... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться