Eclipse IDE for Embedded C/C++ Developers: устранение проблем |
![]() |
Добавил(а) microsin |
Здесь описаны некоторые способы решения проблем с Eclipse Eclipse IDE for Embedded C/C++ Developers под Windows. Eclipse не запускается с ошибкой: Version 1.8.0_201 of the JVM is not suitable for this product. Version: 11 or greater is required Если у Вас установлена последняя версия Java Runtime Environment [1], и все равно при запуске Eclipse происходит эта ошибка, то нужно настроить путь до javaw.exe. Решение нашел по ссылке [2]: 1. Откройте в текстовом редакторе файл eclipse.ini. Он в находится в том же каталоге, где исполняемый файл eclipse.exe. Обычно это папка в профиле пользователя, например C:\Users\имяпользователя\eclipse\embedcpp-2022-06\eclipse\. 2. Перед -vmargs добавьте опцию -vm с полным путем до javaw.exe, например: -startup plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar --launcher.library C:\Users\andrey\.p2\pool\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.500.v20220509-0833 -product org.eclipse.epp.package.embedcpp.product -showsplash C:\Users\andrey\.p2\pool\plugins\org.eclipse.epp.package.common_4.24.0.20220609-1200 --launcher.defaultAction openFile --launcher.appendVmargs -vm c:\Program Files\Java\jdk-18.0.2\bin\javaw.exe -vmargs --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.security.ssl=ALL-UNNAMED -Dosgi.requiredJavaVersion=11 -Dosgi.instance.area.default=@user.home/eclipse-workspace -Dsun.java.command=Eclipse -XX:+UseG1GC -XX:+UseStringDeduplication --add-modules=ALL-SYSTEM -Dosgi.requiredJavaVersion=11 -Dosgi.dataAreaRequiresExplicitInit=true -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true -Xms256m -Xmx2048m --add-modules=ALL-SYSTEM -Declipse.p2.max.threads=10 -Doomph.update.url=https://download.eclipse.org/oomph/updates/milestone/latest -Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/ org.eclipse.oomph.git/plain/setups/ Это может понадобиться для установки переменных окружения Python, путей поиска исполняемых файлов и DLL, или других целей. Предположим, надо добавить для Eclipse в переменную окружения Path путь до корневого каталога python.exe, а также добавить переменные окружения PYTHONPATH и PYTHONHOME. Создайте скрипт starteclipse.bat со следующим содержимым: SET Path=c:/Python27_32;%Path% SET PYTHONPATH=c:/Python27_32/Lib SET PYTHONHOME=c:/Python27_32 cd C:/Users/andrey/eclipse/embedcpp-2022-06/eclipse
eclipse.exe
Здесь c:/Python27_32 это каталог, где находится 32-битная версия Python (она понадобилась для отладчика arm-none-eabi-gdb). Запускайте теперь Eclipse с помощью скрипта starteclipse.bat. [Could not determine GDB version after sending: arm-none-eabi-gdb --version] Сессия отладки не запускается, отображается окно с сообщением об ошибке: Если запустить arm-none-eabi-gdb --version из командной строки, то можно узнать больше информации о причине ошибки. В моем случае это была проблема с python27.dll. Проблема решается путем добавления в переменную Path пути до папки, где находится python27.dll. В моем случае это была папка Python27_32: SET Path=c:/Python27_32;%Path% Здесь следует обратить внимание на следующие вещи: 1. Путь c:/Python27_32 нужно добавить в начало переменной Path, потому что в ней могут быть настроены пути для Python других версий. 2. Для arm-none-eabi-gdb может понадобиться 32-битная версия python27.dll, если предоставить ей 64-битную версию, то произойдет ошибка 0xc000007b (см. далее). 3. Целесообразно настраивать переменную окружения Path только для рабочей среды Eclipse (см. предыдущую врезку "Установка переменных окружения для Eclipse"). [Ошибка 0xc000007b] Проблема решается путем настройки переменной окружения %Path% с добавлением в неё папки, где находится 32-битная версия Python. [Failed to set device] Проблема заключается в том, что сервер GDB не поддерживает указанный тип микроконтроллера. В окне Console среды Eclipse могут отображаться следующие сообщения: Strict limitation error. Please check for correct device name and settings.SEGGER J-Link GDB Server V7.68 Command Line Version JLinkARM.dll V7.68 (DLL compiled Jul 14 2022 16:54:28) Command line: -if jtag -device ARM968E-S -endian little -speed 1000 -port 2331 -swoport 2332 -telnetport 2333 -vd -ir -localhostonly 1 -log log001.txt -singlerun -strict -timeout 0 -nogui -----GDB Server start settings----- GDBInit file: none GDB Server Listening port: 2331 SWO raw output listening port: 2332 Terminal I/O port: 2333 Accept remote connection: localhost only Generate logfile: off Verify download: on Init regs on start: on Silent mode: off Single run mode: on Target connection timeout: 0 ms ------J-Link related settings------ J-Link Host interface: USB J-Link script: none J-Link settings file: none ------Target related settings------ Target device: ARM968E-S Target interface: JTAG Target interface speed: 1000kHz Target endian: little Connecting to J-Link... J-Link is connected. Failed to set device (ARM968E-S). Unknown device selected?ERROR : Failed to set device. GDBServer will be closed... Shutting down... Можно попробовать указать другое, поддерживаемое ядро, например ARM9. Это делается в настройках сессии отладки. Зайдите в меню Run -> Debug Configurations... -> закладка Debugger -> укажите Device name: ARM9. [ImportError: No module named site] Рецепт решения проблемы нашел по ссылке [3]. Не были настроены переменные окружения PYTHONPATH и PYTHONHOME, они должны быть установлены на каталоги Lib и корневой каталог Python соответственно. SET PYTHONPATH=c:/Python27_32/Lib SET PYTHONHOME=c:/Python27_32 См. врезку выше "Установка переменных окружения для Eclipse". Перейдите в перспективу отладки Debug, кликните правой кнопкой на окно Console, выберите в контекстном меню Terminate/Disconnect All. Свойства проекта -> C/C++ Build -> Settings -> закладка Tool Settings -> GNU ARM Cross Create Flash Image -> General -> Output file format (-O): можно выбрать варианты Intel HEX, Motorola S-Record, Motorola S-Record (symbols), Raw binary. [Ссылки] 1. Installing the Java Runtime Environment (JRE) site:docs.oracle.com. |