Не могу скомпилировать прошивку из исходников

Обсуждаем прошивки, алгоритмы работы в разных режимах (например, алгоритм работы автоподсоса).
Наборы тюнингованых прошивок МПСЗ SECU (заточенных под конкретную конфигурацию двигателя)
yoric
Posts: 243
Joined: 10 May 2013, 23:11
Your CAR: WV Passat
SECU version: DIY SECU-3i
Location: Белгород
Has thanked: 151 times
Been thanked: 43 times

Re: Не могу скомпилировать прошивку из исходников

Post by yoric »

При попытке скомпилировать прошивку из репозитория с опцией -DFUEL_INJECT компилятором IAR получаю следующую ошибку:

Code: Select all

"C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.3/avr/bin/iccavr.exe" -
I "C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.3/avr/inc/dlib" -I "C
:\Program Files (x86)\IAR Systems\Embedded Workbench 7.3/avr/inc" --cpu m644 -DR
EALTIME_TABLES -DTHERMISTOR_CS -DDIAGNOSTICS -DFUEL_PUMP -DREV9_BOARD -DSM_CONTR
OL -DSTROBOSCOPE -DUART_BINARY -DDWELL_CONTROL -DVREF_5V -DBL_BAUD_RATE=57600 -D
UNI_OUTPUT -DAIRTEMP_SENS -DFUEL_INJECT -DLITTLE_ENDIAN_DATA_FORMAT -DENABLE_BIT
_DEFINITIONS -ms -e --initializers_in_flash -s9 --lock_regs 1 --eeprom_size 2048
 --dlib_config "C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.3/avr/li
b/dlib/dlAVR-3s-ec_mul-sf-n.h" sources/injector.c -o output/injector.r90 -lC ./o
utput --dependencies=m ./output

   IAR C/C++ Compiler V6.70.1.929 for Atmel AVR
   Copyright 1996-2015 IAR Systems AB.
   Standalone license - IAR Embedded Workbench for Atmel AVR

  static set_channels_2bnk(void)
         ^
"D:\SECU\secu_source\secu3app\sources\injector.c",171  Error[Pe260]: explicit
          type is missing ("int" assumed)

Errors: 1
Warnings: none
make: *** [output/injector.r90] Error 2
С этими же опциями компилятор GCC компилирует прошивку.
Secu-3T rev.C U6 / 60-2 / Статика, SECU-3 Igniters 2 канала, 2111.3705 / блокировка стартера / DRV8825 РХХ / SECU-INJ-DRV / Bluetooth / ВАЗ 21074 1.5л
Secu-3i rev.0 / VW Passat JS 5 цилиндров 2.0л
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Не могу скомпилировать прошивку из исходников

Post by STC »

Упущен тип возвращаемого значения (void). Исправлено.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
User avatar
darxfame
Posts: 901
Joined: 10 Jul 2015, 19:12
Your CAR: ИЖ 2126 УМПО 1,7
SECU version: official SECU-3T
Location: Москва
Has thanked: 122 times
Been thanked: 137 times
Contact:

Re: Не могу скомпилировать прошивку из исходников

Post by darxfame »

yoric wrote:При попытке скомпилировать прошивку из репозитория с опцией -DFUEL_INJECT компилятором IAR получаю следующую ошибку:

Code: Select all

"C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.3/avr/bin/iccavr.exe" -
I "C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.3/avr/inc/dlib" -I "C
:\Program Files (x86)\IAR Systems\Embedded Workbench 7.3/avr/inc" --cpu m644 -DR
EALTIME_TABLES -DTHERMISTOR_CS -DDIAGNOSTICS -DFUEL_PUMP -DREV9_BOARD -DSM_CONTR
OL -DSTROBOSCOPE -DUART_BINARY -DDWELL_CONTROL -DVREF_5V -DBL_BAUD_RATE=57600 -D
UNI_OUTPUT -DAIRTEMP_SENS -DFUEL_INJECT -DLITTLE_ENDIAN_DATA_FORMAT -DENABLE_BIT
_DEFINITIONS -ms -e --initializers_in_flash -s9 --lock_regs 1 --eeprom_size 2048
 --dlib_config "C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.3/avr/li
b/dlib/dlAVR-3s-ec_mul-sf-n.h" sources/injector.c -o output/injector.r90 -lC ./o
utput --dependencies=m ./output

   IAR C/C++ Compiler V6.70.1.929 for Atmel AVR
   Copyright 1996-2015 IAR Systems AB.
   Standalone license - IAR Embedded Workbench for Atmel AVR

  static set_channels_2bnk(void)
         ^
"D:\SECU\secu_source\secu3app\sources\injector.c",171  Error[Pe260]: explicit
          type is missing ("int" assumed)

Errors: 1
Warnings: none
make: *** [output/injector.r90] Error 2
С этими же опциями компилятор GCC компилирует прошивку.
может не все необходимые пакеты для сборки в IAR положили?
ИЖ 2126 Ода, УМПО 3317,Январь 5.1 (Был Secu-3T M644), Фазированный впрыск(ДАД+ДТВ) (был Моновпрыск C16NZ)
User avatar
VizorSRF
Posts: 1922
Joined: 04 May 2018, 17:39
Your CAR: Mustang V8 302НО EFI
SECU version: official SECU-3i
Has thanked: 267 times
Been thanked: 287 times

Re: Алгоритм управления РХХ (клапан добавочного воздуха)

Post by VizorSRF »

Попытался вспомнить как компилировать, скачал GCC, установил, что-то забыл, makefile создаётся, но всё-равно с ошибкой
Снимок.PNG
В 80 строке Makefile_gcc не находится OBJ_DIRS?

P.S Создал папку OBJ_DIRS, далее компилятор не может создавать файлы в output :(
SBF302 EFI, V8, OHV
36-1 першел на 36+1 ДФ как ДНО, ДПКВ, ДПРВ, ДПДЗ, ДМРВ, ШПЛ, Холостая искра / Trigger wheel 36-1 convert to 36+1 with PS, CKPS, PS, TPS, MAF, WBO, Wasted spark
Тема: viewtopic.php?f=25&t=1499
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Алгоритм управления РХХ (клапан добавочного воздуха)

Post by STC »

VizorSRF wrote: 17 Apr 2023, 14:22 Попытался вспомнить как компилировать, скачал GCC, установил, что-то забыл, makefile создаётся, но всё-равно с ошибкой
Снимок.PNG

В 80 строке Makefile_gcc не находится OBJ_DIRS?

P.S Создал папку OBJ_DIRS, далее компилятор не может создавать файлы в output :(
Нет, создавать папку не нужно. Это неправильно запускается компилятор или make.exe. Не могу сказать в чем причина.
Я сейчас собираю под linux, под Виндой давно не проверял. Проверь, Makefile должен создаваться.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Алгоритм управления РХХ (клапан добавочного воздуха)

Post by STC »

Я проверил и нашел причину.
В самом верху файла Makefile_gcc или в Makefile (если он уже создался) замени ./output на output

Ему не нравится вот эта строчка:

Code: Select all

@mkdir -p $(OBJDIR)
Замени ее на:

Code: Select all

if not exist $(OBJDIR) mkdir $(OBJDIR)
Он почему-то перестал понимать опцию -p, а раньше понимал (раньше же работало у меня на Виндовс пока я на linux не перешел). Теперь перестал понимать.

И еще, чтобы корректно работал компилятор нужно чтобы в переменной Path были прописаны пути. Можно не трогать эту переменную в настройках Виндовс, а добавить к ней необходимые значения прямо перед запуском компиляции. Например так:

Code: Select all

set Path=%Path%;C:\avr-gcc-12.1.0-x86-windows\bin
set Path=%Path%;C:\avr-gcc-12.1.0-x86-windows\avr\bin
set Path=%Path%;C:\avr-gcc-12.1.0-x86-windows\avr\lib
C:\avr-gcc-12.1.0-x86-windows\bin\make.exe
Можно поместить эти строки в файл с расширением cmd чтобы каждый раз не набирать эти команды. Если ты запускаешь configure.bat, то можешь прописать эти строчки в нем - в самом верху. Кроме последней строчки (последняя строчка запускает make и подразумевается, что Makefile уже создан).
В папке avr-gcc-12.1.0-x86-windows у меня (у тебя может быть в другом месте) находится компилятор со своими потрохами (называется это все toolchain). Если ты устанавливал его при помощи скрипта, то он скорее всего уже все прописал сам в Path.

Вот тут тоже описано https://tinusaur.com/guides/avr-gcc-toolchain/
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
Post Reply

Return to “Прошивки”