cancel
Showing results for 
Search instead for 
Did you mean: 

How do you add a .ioc file to an existing project that does not have one?

KiptonM
Lead

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.

11 REPLIES 11
Tilen MAJERLE
ST Employee

Hi Kmora,

What is the CubeIDE version you are using to compile this?

Thanks, Tilen

KiptonM
Lead

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.

Cartu38 OpenDev
Lead II

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 ?

KiptonM
Lead

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

KiptonM
Lead

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.

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:

0693W000008FvNJQA0.jpg 

/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 ...

KiptonM
Lead

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.

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