cancel
Showing results for 
Search instead for 
Did you mean: 

undefined reference to `ExitRun0Mode'

carloV
Associate III

Hi,

I've installed the CubeIDe rel 2.0.0 and the CubeMX rel 6.16.0; when I build my project this error appears: undefined reference to `ExitRun0Mode'.

 

May you help me ?

 

Thank you, CarloV

15 REPLIES 15
TDK
Super User

Here is a definition of that file. Maybe it's the one you want.

https://github.com/STMicroelectronics/STM32CubeH7/blob/46631c3dab1edbe412c613add345bfbf1d2c5e2e/Projects/STM32H7B3I-DK/Examples/BSP/Src/system_stm32h7xx.c#L359

 

Would be better for you to provide your IOC or explain how you project was created. If the function is there, it should be found.

If you feel a post has answered your question, please click "Accept as Solution".
carloV
Associate III

Thank you, I build my project using the 1.9.0 CubeIde release, including the IOC file, and worked good. The issue appeared after the 1.2.0, it requires the CubeMX to build the IOC; I imported the old project.

 

CarloV

Hello,

ExitRun0Mode() was introduced (if I'm not mistaken) in V1.7.0. So please update your CubeHAL repositry folder to the latest version.

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
carloV
Associate III

sorry....I built with the 1.19.0 release...

 

CarloV

Are you sure about those version numbers?

The latest CubeIDE is v2.0.0 ...

And CubeIDE v2.0.0 does indeed require the separate CubeMX:

https://community.st.com/t5/stm32cubeide-mcus/device-configuration-tool-not-working-in-stm32cubeide-v2-0-0/m-p/859813/highlight/true#M39730

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
carloV
Associate III

I checked my "system_stm32h7xx.c" file and I haven't find the "ExitRun0Mode" function...

 

CarloV

Sorry...some confusion, yes the release is th 2.0.0 and if I want to graphically edit the IOC, I need to have the CubeMX; clicking the IOC file the CubeMX starts...


@carloV wrote:

I checked my "system_stm32h7xx.c" file and I haven't find the "ExitRun0Mode" function...

 

CarloV


Try to remove system_stm32h7xx.c and re-generate the code again in CubeMx. But be sure you are pointing to the latest CubeH7 version:

mALLEm_0-1764257967697.png

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
TDK
Super User

If I open your IOC and generate code and compile the project, it (mostly) works.

Except that you have do not generate main checked, so it doesn't generate that.

TDK_0-1764258378645.png

 

If I add main(), it compiles.

Finished building target: SpectrumAna.elf
 
arm-none-eabi-size  SpectrumAna.elf 
arm-none-eabi-objdump -h -S SpectrumAna.elf  > "SpectrumAna.list"
   text	   data	    bss	    dec	    hex	filename
   9396	      8	   2112	  11516	   2cfc	SpectrumAna.elf
Finished building: default.size.stdout
 
Finished building: SpectrumAna.list

 

ExitRun0Mode is generated and present in system_stm32*.c

TDK_1-1764258454476.png

 

 

I wonder if you are not regenerating code.

If you feel a post has answered your question, please click "Accept as Solution".