Портирование кода прошивки на GCC (Porting firmware to GCC)

Обсуждение прошивок SECU-3. Discussion of SECU-3 firmware.

Moderator: STC

Dmitrich2
LQFP112 - Up with the play
Posts: 248
Joined: Tue Dec 07, 2010 9:36 am

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by Dmitrich2 »

Так CFLAGS += -DLITTLE_ENDIAN_DATA_FORMAT -D DWELL_CONTROL -D REALTIME_TABLES -D DEBUG_VARIABLES
Вообще должен сгенерироватся файл pnproj
JOleg
QFP80 - Contributor
Posts: 89
Joined: Mon Dec 20, 2010 10:40 am

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by JOleg »

Нашел сборку gcc 4.6.2 под win и попробовал скомпелировать последний релиз под М16. Получилось правда пришлось кректировать Makefile чтобы не съезжало на Winavr и ботлоадер не вставило в хекс.
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by STC »

А что вышел новый релиз WinAVR?
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
ender11
LQFP112 - Up with the play
Posts: 197
Joined: Sat Dec 11, 2010 4:05 pm

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by ender11 »

не занимайтесь ерундой, используйте gcc 3.4.6
Fediy555
DIP8 - Involved
Posts: 29
Joined: Sun Feb 26, 2012 7:32 pm

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by Fediy555 »

STC писал: Если компилировать прошивку для ATmega16 с опцией REALTIME_TABLES, то места в ОЗУ не хватает.
вот строчка с опциями в Makefile_IAR:
CFLAGS += -DLITTLE_ENDIAN_DATA_FORMAT -DREALTIME_TABLES
Какие опции тогда использовать для компиляции М16? М32 собирается. В маке файле стоит строка: CFLAGS += -D LITTLE_ENDIAN_DATA_FORMAT -D ENABLE_BIT_DEFINITIONS -DREALTIME_TABLES
Прошивка из релиза от 05.10.2011
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by STC »

Какие опции тогда использовать для компиляции М16? М32 собирается. В маке файле стоит строка: CFLAGS += -D LITTLE_ENDIAN_DATA_FORMAT -D ENABLE_BIT_DEFINITIONS -DREALTIME_TABLES
Убрать REALTIME_TABLES. Fediy555 FYI, в readme.txt описаны все опции компиляции.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Fediy555
DIP8 - Involved
Posts: 29
Joined: Sun Feb 26, 2012 7:32 pm

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by Fediy555 »

Спасибо разобрался, только размер скомпилированного файла отличается от твоего, это ничего?
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by STC »

Не должен отличаться!
Чем компилировал?
Какая версия GCC (если компилировал ним)?
Покажи Makefile, которым собирал.
Покажи тот файл, что получился.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Fediy555
DIP8 - Involved
Posts: 29
Joined: Sun Feb 26, 2012 7:32 pm

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by Fediy555 »

Комипилятор IAR, поставил версию 4.21А, прошивка релиз с сайта SECU-3 от 05.10.2011 после компиляции линкер выдал:
IAR Universal Linker V4.60E/386
Copyright 1987-2006 IAR Systems. All rights reserved.

14 829 bytes of CODE memory (+ 20 range fill )
901 bytes of DATA memory (+ 41 absolute )
Маке файл и скомпилированная прошивка в архиве. Размер получаемой прошивки в нех виде 41801, тогда как твоя имеет размер 46093.....
Attachments
secu3app.rar
(17.14 KiB) Downloaded 455 times
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Портирование кода прошивки на GCC (Porting firmware to G

Post by STC »

Все правильно :-)
Ты же смотришь размер Hex-файла, а это текстовый файл и его размер зависит от параметров генератора кода.
Нужно смотреть размер бинарного файла.
Достаточно открыть .a90 или .bin файл прошивки менеджером и если размер неправильный, то менеджер выдаст сообщение об ошибке.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Post Reply