Страница 12 из 16

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 08 фев 2019, 17:43
petrovitch
А какова технология самостоятельной сборки IDE с Eclipse+GCC+OpenOCD для программатора J-Link?

Как я понял из последней переписки, OpenOCD уже автоматом ставится с Eclipse. Необходимы
только некие настройки.
Как было описано на bitbucket.org ещё необходимы

"арм GNU Toolchain 5+
CMake 3.8+
make для вашей ОС (make, mingw64-make ...)"

И как это всё свести воедино в рабочее состояние?!

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 08 фев 2019, 17:54
Лашкевич
Ну какая там может быть технология, брать эклипс, ставить плагин GNU MCU Eclipse, класть рядом OpenOCD и компиляторы GNU-арм, и прописывать настройки в плагине и в остальном как в Vector IDE. Отдельно подробный никто мануал не описывал, собственно, чтобы это не писать, и был собран Vector IDE.

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 12 фев 2019, 10:48
bkolbov
petrovitch писал(а): 08 фев 2019, 17:43 Как было описано на bitbucket.org ещё необходимы

"арм GNU Toolchain 5+
CMake 3.8+
make для вашей ОС (make, mingw64-make ...)"

И как это всё свести воедино в рабочее состояние?!
Проекты, о которых вы говорите, используют систему сборки CMake - это не проекты Eclipse. Они могут собираться вообще без какой-либо IDE - примеры скриптов сборки там рядом лежат. Соответственно, если создавать вручную родные проекты Eclipse - то требования к софту выше будут неактуальны.
В целом, CMake поддерживают большинство современных Сишных IDE и "прокачанных" плагинами блокнотов: VSCode, Sublime Text, Clion, CodeBlocks, Visual студио, Qt Creаtor и прочие. Eclipse тоже должен поддерживать CMake, и, если мне верно подсказывает гугл, делается это через плагин cmake4eclipse.

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 15 мар 2021, 17:43
IT124NPOIT
После компиляции появляется токая ошибка, что это значит?
15:28:02 **** Incremental Build of configuration Debug for project 1921UPSD&DG ****
make all
Building target: 1921UPSD&DG.elf
Invoking: GNU арм Cross C Linker
арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -T "E:VectorIDE13_Examples1921UPSD&DG" -T "E:VectorIDE13_Examples1921UPSD&DGldscriptsK1921VK01T.ld" -Xlinker --gc-sections -Wl,-Map,"1921UPSD&DG.map" -o "1921UPSD&DG.elf" ./src/K1921VK01T_init.o ./src/main.o ./asm/startup_MCP_gcc.o ./.metadata/.plugins/org.eclipse.cdt.make.core/specs.o -lE:/VectorIDE13_Examples/1921UPSD&DG
d:/vectoridev1.3/eclipse/../gnugcc/build tools/2.12-20190422-1053/bin/sh: DG: not found
make: *** [makefile:46: 1921UPSD&DG.elf] Error 127
15:28:04 Build Failed. 1 errors, 0 warnings. (took 2s.518ms

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 15 мар 2021, 17:48
Disona
IT124NPOIT писал(а): 15 мар 2021, 17:43 После компиляции появляется токая ошибка, что это значит?
15:28:02 **** Incremental Build of configuration Debug for project 1921UPSD&DG ****
Здравствуйте.

Точно сказать пока не могу, но с виду как будто нехорошее название проекта. Не могли бы попробовать заменить символ "&" в названии проекта на какой-нибудь другой (нижнее подчеркивание, например), удалить папку "Debug" и перебилдить проект?

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 16 мар 2021, 15:05
IT124NPOIT
Сделал как вы рекомендовали, но теперь уже такие ошибки:
{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil Consolas;}{\f1\fnil\fcharset0 Calibri;}}
{\colortbl ;\red0\green0\blue255;\red0\green0\blue0;}
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\sa200\sl276\slmult1\cf1\lang1033\f0\fs20 12:53:02 **** Incremental Build of configuration Debug for project 1921UPSD_DG ****\cf0\par
\cf2 make all \cf0\par
\cf2 Building file: ../src/K1921VK01T_init.c\cf0\par
\cf2 Invoking: GNU арм Cross C Compiler\cf0\par
\cf2 арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -I"E:\\VectorIDE13_Examples\\1921UPSD_DG" -I"E:\\VectorIDE13_Examples\\1921UPSD_DG\\include" -std=gnu11 -MMD -MP -MF"src/K1921VK01T_init.d" -MT"src/K1921VK01T_init.o" -c -o "src/K1921VK01T_init.o" "../src/K1921VK01T_init.c"\cf0\par
\cf2 Finished building: ../src/K1921VK01T_init.c\cf0\par
\cf2 \cf0\par
\cf2 Building file: ../src/main.c\cf0\par
\cf2 Invoking: GNU арм Cross C Compiler\cf0\par
\cf2 арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -I"E:\\VectorIDE13_Examples\\1921UPSD_DG" -I"E:\\VectorIDE13_Examples\\1921UPSD_DG\\include" -std=gnu11 -MMD -MP -MF"src/main.d" -MT"src/main.o" -c -o "src/main.o" "../src/main.c"\cf0\par
\cf2 Finished building: ../src/main.c\cf0\par
\cf2 \cf0\par
\cf2 Building file: ../asm/startup_MCP_gcc.S\cf0\par
\cf2 Invoking: GNU арм Cross Assembler\cf0\par
\cf2 арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -x assembler-with-cpp -MMD -MP -MF"asm/startup_MCP_gcc.d" -MT"asm/startup_MCP_gcc.o" -c -o "asm/startup_MCP_gcc.o" "../asm/startup_MCP_gcc.S"\cf0\par
\cf2 Finished building: ../asm/startup_MCP_gcc.S\cf0\par
\cf2 \cf0\par
\cf2 Building file: ../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c\cf0\par
\cf2 Invoking: GNU арм Cross C Compiler\cf0\par
\cf2 арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -I"E:\\VectorIDE13_Examples\\1921UPSD_DG" -I"E:\\VectorIDE13_Examples\\1921UPSD_DG\\include" -std=gnu11 -MMD -MP -MF".metadata/.plugins/org.eclipse.cdt.make.core/specs.d" -MT".metadata/.plugins/org.eclipse.cdt.make.core/specs.o" -c -o ".metadata/.plugins/org.eclipse.cdt.make.core/specs.o" "../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c"\cf0\par
\cf2 Finished building: ../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c\cf0\par
\cf2 \cf0\par
\cf2 Building target: 1921UPSD_DG.elf\cf0\par
\cf2 Invoking: GNU арм Cross C Linker\cf0\par
\cf2 арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -T "E:\\VectorIDE13_Examples\\1921UPSD_DG" -T "E:\\VectorIDE13_Examples\\1921UPSD_DG\\ldscripts\\K1921VK01T.ld" -Xlinker --gc-sections -Wl,-Map,"1921UPSD_DG.map" -o "1921UPSD_DG.elf" ./src/K1921VK01T_init.o ./src/main.o ./asm/startup_MCP_gcc.o ./.metadata/.plugins/org.eclipse.cdt.make.core/specs.o -lE:/VectorIDE13_Examples/1921UPSD_DG\cf0\par
\cf2 d:/vectoridev1.3/gnugcc/арм embedded gcc/8.2.1-1.7-20190524-0603/bin/../lib/gcc/арм-none-eabi/8.2.1/../../../../арм-none-eabi/bin/ld.exe: cannot open linker script file E:\\VectorIDE13_Examples\\1921UPSD_DG: Invalid argument\cf0\par
\cf2 collect2.exe: error: ld returned 1 exit status\cf0\par
\cf2 make: *** [makefile:46: 1921UPSD_DG.elf] Error 1\cf0\par
\par
\cf1 12:53:04 Build Failed. 2 errors, 0 warnings. (took 1s.588ms)\cf0\f1\fs22\par
}

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 16 мар 2021, 15:25
Disona
IT124NPOIT писал(а): 16 мар 2021, 15:05 Сделал как вы рекомендовали, но теперь уже такие ошибки:
...
Ох. Тут уже затрудняюсь сказать. То ли проблема с настройками проекта, то ли опять с именами файлов - жалуется на скрипт линкера, который должен быть с расширением "*.ld".

А почему так странно выглядит текст сообщений из консоли? Какие-то фигурные скобки сплошные...

У вас есть возможность скинуть проект в zip-архиве?

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 16 мар 2021, 16:07
Disona
IT124NPOIT писал(а): 16 мар 2021, 15:05 Сделал как вы рекомендовали, но теперь уже такие ошибки:
...
Так, я догадался, что это за абракадабра и открыл в ворде.

Значит сомнение вызывает вот это дело:

Код: Выделить всё

арм-none-eabi-gcc
-mcpu=кортекс-m4 
-mthumb 
-mfloat-abi=hard 
-mfpu=fpv4-sp-d16 -O0 
-fmessage-length=0 
-fsigned-char 
-ffunction-sections 
-fdata-sections 
-g3 
-T "E:\VectorIDE13_Examples\1921UPSD_DG"  <------------------------------------------------
-T "[E:\VectorIDE13_Examples\1921UPSD_DG\ldscripts\K1921VK01T.ld" 
-Xlinker 
--gc-sections 
-Wl,-Map,"1921UPSD_DG.map" 
-o "1921UPSD_DG.elf" ./src/K1921VK01T_init<...> 
-lE:/VectorIDE13_Examples/1921UPSD_DG
Проверьте, пожалуйста, настройки проекта в разделе, как на скриншоте. Там должны быть перечислены "*.ld"-файлы с скриптами линкера, а у вас, как будто бы, там помимо файла указан ещё отдельно путь до его расположения. Путь надо убрать.
Скриншот | Показать
2021-03-16 15-04-53 Properties.png
2021-03-16 15-04-53 Properties.png (45.76 КБ) 2106 просмотров

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 16 мар 2021, 16:48
IT124NPOIT
После вашего замечание появилось такая ошибка:
14:34:58 **** Incremental Build of configuration Debug for project 1921UPSD_DG ****
make all
Building file: ../src/K1921VK01T_init.c
Invoking: GNU арм Cross C Compiler
арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -I"E:\VectorIDE13_Examples\1921UPSD_DG" -I"E:\VectorIDE13_Examples\1921UPSD_DG\include" -std=gnu11 -MMD -MP -MF"src/K1921VK01T_init.d" -MT"src/K1921VK01T_init.o" -c -o "src/K1921VK01T_init.o" "../src/K1921VK01T_init.c"
Finished building: ../src/K1921VK01T_init.c

Building file: ../src/main.c
Invoking: GNU арм Cross C Compiler
арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -I"E:\VectorIDE13_Examples\1921UPSD_DG" -I"E:\VectorIDE13_Examples\1921UPSD_DG\include" -std=gnu11 -MMD -MP -MF"src/main.d" -MT"src/main.o" -c -o "src/main.o" "../src/main.c"
Finished building: ../src/main.c

Building file: ../asm/startup_MCP_gcc.S
Invoking: GNU арм Cross Assembler
арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -x assembler-with-cpp -MMD -MP -MF"asm/startup_MCP_gcc.d" -MT"asm/startup_MCP_gcc.o" -c -o "asm/startup_MCP_gcc.o" "../asm/startup_MCP_gcc.S"
Finished building: ../asm/startup_MCP_gcc.S

Building file: ../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c
Invoking: GNU арм Cross C Compiler
арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -I"E:\VectorIDE13_Examples\1921UPSD_DG" -I"E:\VectorIDE13_Examples\1921UPSD_DG\include" -std=gnu11 -MMD -MP -MF".metadata/.plugins/org.eclipse.cdt.make.core/specs.d" -MT".metadata/.plugins/org.eclipse.cdt.make.core/specs.o" -c -o ".metadata/.plugins/org.eclipse.cdt.make.core/specs.o" "../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c"
Finished building: ../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c

Building target: 1921UPSD_DG.elf
Invoking: GNU арм Cross C Linker
арм-none-eabi-gcc -mcpu=кортекс-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -T "E:\VectorIDE13_Examples\1921UPSD_DG\cmd\build.ld" -Xlinker --gc-sections -Wl,-Map,"1921UPSD_DG.map" -o "1921UPSD_DG.elf" ./src/K1921VK01T_init.o ./src/main.o ./asm/startup_MCP_gcc.o ./.metadata/.plugins/org.eclipse.cdt.make.core/specs.o -lE:/VectorIDE13_Examples/1921UPSD_DG
d:/vectoridev1.3/gnugcc/арм embedded gcc/8.2.1-1.7-20190524-0603/bin/../lib/gcc/арм-none-eabi/8.2.1/../../../../арм-none-eabi/bin/ld.exe: cannot open linker script file niiet_ram.ld: No such file or directory
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:46: 1921UPSD_DG.elf] Error 1

14:34:59 Build Failed. 2 errors, 0 warnings. (took 1s.234ms)

Re: Eclipse + GCC + OpenOCD: готовая сборка среды

Добавлено: 16 мар 2021, 17:15
Disona
IT124NPOIT писал(а): 16 мар 2021, 16:48 После вашего замечание появилось такая ошибка:
...
Теперь, похоже, проблема вот в чём:
- в качестве основного скрипта для линкера вы используете файл "build.ld"
- "build.ld" в свою очередь внутри себя подключает другой файл - "niiet_ram.ld"
- этот файл расположен (или, по крайней мере, должен быть расположен) в папке "cmd" внутри проекта - то есть там же, где и "build.ld"
- линкер должен знать, где искать разные LD-файлы

Для этого надо в настройках проекта добавить опцию с флагом "-L" и указать расположение папки "cmd", как на скриншоте
| Показать
2021-03-16 16-11-11 Properties.png
2021-03-16 16-11-11 Properties.png (53.7 КБ) 2101 просмотр