2021-02-11 07:25 AM
I got the example files from here:
You are missing the famous set of examples for UART with DMA by Tilen Majerle.
https://github.com/MaJerle/stm32-usart-uart-dma-rx-tx
I selected the project usart_dma_rx_idle_line_irq_F4.
First thing I notice, it did not have a .ioc file for me to configure the rest of the chip.
I do not know how to fix this. It is for a generic F4. I have a Nucleo-F446RE.
Is the missing .ioc the cause of the error:
arm-none-eabi-objcopy.exe -O ihex "usart_dma_rx_idle_line_irq_F4.elf" "usart_dma_rx_idle_line_irq_F4.hex"
/bin/sh: 1: arm-none-eabi-objcopy.exe: not found
make[1]: *** [makefile:84: post-build] Error 127
make: *** [makefile:52: all] Error 2
"make -j12 all" terminated with exit code 2. Build might be incomplete.
2021-02-11 08:16 AM
Hi Kmora,
What is the CubeIDE version you are using to compile this?
Thanks, Tilen
2021-02-11 08:23 AM
STM32CubeIDE
Version: 1.5.1
Build: 9029_20201210_1234 (UTC)
Do not assume I know what I am doing. I am new at working with ST products. (i.e. a couple of weeks).
Even though I have been programming C for over 40 years.
2021-02-11 10:05 AM
Missing .ioc file cannot be related at all to project compilation issue. Be sure about.
.ioc file is embedding selected device configuration settings if intending to revisit them later on Thanks Device Configuration Tool allowing code update.
Project compilation is only dealing with project setups (symbols, ...) & source (.c / .h / .ld) files
Here you have an error at post build step lacking from a toolchain component (arm-none-eabi-objcopy.exe file) ... I would kindly advice to reinstall your STM32CubeIDE product here ... sounds part of product is missing ... Which OS (Mac, Win, Linux) are you relying on ?
2021-02-11 11:55 AM
I am running the Linux version.
I thought it had something to do with the .ioc as all other projects I have created started with nucleo boards and have been working without a problem.
When I look at the environment variables Project->Properties->C/C+ Build->Environment compiler_prefix arm-none-eabi-
Is that correct? Or should it be something else?
Kip
2021-02-11 12:05 PM
Would this have anything to do with the fact that the directory from github was placed in /home/kip/STM32CubeIDE and not /home/kip/STM32CubeIDE/workspace_1.5.1?
I know it may be a stupid question but I am new to this environment and IDE.
2021-02-11 12:16 PM
Despite I would be worried about such missing arm-none-eabi-objcopy.exe file as sounds post build step doing .elf to .hex is failing have a try to just skip it. .hex is just an extra binary you don't care about. .elf is far best one.
Just right click on your project root within project explorer. Select Properties as part of contextual menu then uncheck .hex generation:
2021-02-11 12:18 PM
/home/kip/STM32CubeIDE path should be ok ... just please could you share where STM32CubeIDE project is installed .... takes care to not mix product install path and workspace ...
2021-02-11 01:01 PM
When I built a project for the Nucleo-F446RE I look at Project->Properties->C/C+ Build->Settings under the Build Steps Tab there is nothing under Post-build steps.
With the usart_dma_rx_idle_line_irq_F4 progect in the same place it has
arm-none-eabi-objcopy.exe -O ihex "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.hex"
I did a search under /home/kip/STM32CubeIDE/workspace_1.5.1 directory and did not find a file "arm-none-eabi-objcopy.exe"
So I tried to search the whole computer from the / directory. (Maybe it was a path issue.) it is taking a long time, so I will get back to you when it finishes searching through the whole computer.
2021-02-11 01:25 PM
I am having difficulties determining where it is installed. I thought it was under /home/kip
But it looks like it may be /opt/st/stm32cubeide_1.5.1
From STM32CubeIDEInstallation Details Configuration
*** Date: Thursday, February 11, 2021 3:17:57 PM CST
*** Platform Details:
*** System properties:
applicationXMI=org.eclipse.ui.workbench/LegacyIDE.e4xmi
awt.toolkit=sun.awt.X11.XToolkit
ds.delayed.keepInstances=true
ds.delayed.keepInstances.default=true
eclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=Version 1.5.1
eclipse.commands=-os
linux
-ws
gtk
-arch
x86_64
-showsplash
-launcher
/opt/st/stm32cubeide_1.5.1/stm32cubeide
-name
Stm32cubeide
--launcher.library
/opt/st/stm32cubeide_1.5.1//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.1200.v20200508-1552/eclipse_1801.so
-startup
/opt/st/stm32cubeide_1.5.1//plugins/org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar
--launcher.overrideVmargs
-exitdata
8028
-vm
/opt/st/stm32cubeide_1.5.1/jre/bin/java
eclipse.home.location=file:/opt/st/stm32cubeide_1.5.1/
eclipse.launcher=/opt/st/stm32cubeide_1.5.1/stm32cubeide
eclipse.launcher.name=Stm32cubeide
eclipse.p2.data.area=@config.dir/../p2/
eclipse.p2.profile=STM32CubeIDE
eclipse.product=com.st.stm32cube.ide.mcu.rcp.product
eclipse.startTime=1613008054242
eclipse.stateSaveDelayInterval=30000
eclipse.vm=/opt/st/stm32cubeide_1.5.1/jre/bin/java
eclipse.vmargs=-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/STM32CubeIDE/workspace_1.5.1
-Declipse.buildId=Version 1.5.1
-DproductMaturityGrade=mm
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Xms256m
-Xmx1024m
-jar
/opt/st/stm32cubeide_1.5.1//plugins/org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar