Программирование ARM: решение проблем, FAQ Eclipse IDE for Embedded C/C++ Developers: устранение проблем Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


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]

Сессия отладки не запускается, отображается окно с сообщением об ошибке:

Eclipse error arm none eabi gdb version

Если запустить arm-none-eabi-gdb --version из командной строки, то можно узнать больше информации о причине ошибки. В моем случае это была проблема с python27.dll.

Eclipse error arm none eabi gdb python27

Проблема решается путем добавления в переменную 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]

Eclipse error arm none eabi gdb 0xc000007b

Проблема решается путем настройки переменной окружения %Path% с добавлением в неё папки, где находится 32-битная версия Python.

[Failed to set device]

Eclipse error arm none eabi gdb ARM968E S

Проблема заключается в том, что сервер 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.

Eclipse Debug session set 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.
2. Incompatible JVM. Version 1.8.0_261 of the JVM is not suitable for this product. Version: 11 or greater is required site:stackoverflow.com.
3. ImportError: No module named site on Windows site:stackoverflow.com.

 

Добавить комментарий


Защитный код
Обновить

Top of Page