Issues Installing System Workbench for STM32 from Eclipse
Hi, I feel for ya. I’ve been there. I’m new to embedded stuff but this isn’t “my first rodeo” so here are my observations:
‘’After step 4.4, I get this error upon opening Eclipse:
’Initializing External-tools’ has encountered a problem.
An internal error occurred during: “Initializing External-tools”.
java.lang.ExceptionInInitializerError’’
I was getting that error before installing the ac6 tools. weird.
C:\Users\aatca\AppData\Local\Temp\ccH0jd0c.s:295: Error: selected processor does not support `dsb 0xF’ in Thumb mode
This error suggests you’re using the wrong board setup or the wrong compiler? Those items are in your project properties so changing your installation won’t likely fix that.
Your board settings are in project properties, open C/C++ Build -> Settings -> Target. Remember, these settings are Configuration specific so check Debug and Build settings. Make sure these are correct.
A couple debugging suggestions:
In your project properties, open C/C++ Build -> Settings -> Tool Settings Tab -> MCU Settings
- Prefix should say “arm-none-eabi-”
- Path should say ${openstm32_compiler_path}
What does MCU and Board say? Does it match your board?
In your project properties, open C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler
- What does the “All options” say? Does it match your board? The MCU settings above?
What does the compiler output look like when you build? This is my output:
Building file: ../StdPeriph_Driver/src/stm32f4xx_crc.c
Invoking: MCU GCC Compiler
C:\Users\russh\my-proj\Debug
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DSTM32 ‘-DHSE_VALUE=20000000’ -DSTM32F4 -DSTM32F446RETx -DDEBUG -DSTM32F446xx -DUSE_STDPERIPH_DRIVER -I”C:/Users/russh/myproj/StdPeriph_Driver/inc” -I”C:/Users/russh/myproj/inc” -I”C:/Users/russh/myproj/CMSIS/device” -I”C:/Users/russh/myproj/CMSIS/core” -O1 -g3 -Wall -fmessage-length=0 -ffunction-sections -c -MMD -MP -MF”StdPeriph_Driver/src/stm32f4xx_crc.d” -MT”StdPeriph_Driver/src/stm32f4xx_crc.o” -o “StdPeriph_Driver/src/stm32f4xx_crc.o” “../StdPeriph_Driver/src/stm32f4xx_crc.c”
Finished building: ../StdPeriph_Driver/src/stm32f4xx_adc.c
This is the important bit:
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DSTM32 ‘-DHSE_VALUE=20000000’ -DSTM32F4 -DSTM32F446RETx -DDEBUG -DSTM32F446xx -DUSE_STDPERIPH_DRIVER
It needs to match your board. If you don’t see arm-none-eabi-gcc that’s a bit hint that you’r using the wrong compiler.
If the board info is wrong, then you can fix that in the Target tab.
java.lang.NoClassDefFoundError: Could not initialize class fr.ac6.mcu.externaltools.stlinkserver.win32.WinRegistry
This is the error that brought me here so I have no idea. ;)
‘’After changing some things I unfortunately no longer remember, running existing projects now gives this error:
Wrong device detected’’
I think this is in Debug Configurations, but I don’t know because apparently it’s not working on this computer (I can’t get the gui editor to show?). These settings are for OpenOCD. Usually I think it’s a text file generated for you. On a work project we override the file manually. Again, if you accidentally changed the processor or board this error would make sense?
Good luck!
Russ