cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7B3I-EVAL and M2 macOS, new to STM, Example project does not run

MF1
Associate II

I am new to STM32.  I am on an Apple Silicon M2 Mac.  The IDE appears to be solid, installed properly, and working consistently.  The STMH7 family seems pretty well established, so I am confident it is a self induced issue! :)

I have downloaded and installed version 1.17.0 of STM32CubeIDE and STM32CubeProgrammer.  I have watched a few videos from ST folks on youtube and the process appears very straight forward.

When trying the steps to build an Example program for the first time or two, I have gone through the various updates of the IDE and firmware as recommended.

When rebooting the Mac and launching the IDE, I create a new "default location" and create a new project from the available Examples.  I choose the STM32H7B3I-EVAL board, then create a project from the Example Selector named "LedToggling".  The IDE copies stuff over to my project directory and eventually opens the main project window.

While it copies the example project into my new project, I see the expected "Example Copy to Local Repository" as the progress bar is making progress.  At some point near the end, I see a warning flash up for just a second or two that reads "Fail to perform local copy" and "Please Wait For Clean Up...".  I'm an Mac developer, by day, so please spare any obvious permission questions. :)  I don't really know if this is a real error, or a critical issue because I figure if it were, the IDE would stop and fail the creation, instead of automatically hiding it after 2 seconds.

The project does load and the code is in place as expected.  I build the project with no abnormal issues.  I get the common "problem" with encoding along the way, and resolve that.  I also verify that the build configuration is using the XIP_OSPI_InternalSRAM_Debug configuration.

On trying to debug the image, I get the "Edit Launch Configuration Properties" dialog for the first time.  I leave everything at defaults.  In the debugger tab, I confirm there is NO items in the "External loaders" list.  Once I continue debugging the program, I get the expected "Load failed" problem you would expect without an external loader.  So I configure an external loader before trying again.

As there is no longer a scan options, I select MX25LM51245G_STM32H7B31-EVAL-REVB.stldr from the list of options.  There is also a variant with a ...REVA.stldr suffix, but trial and error showed Rev A doesn't work, Rev B does work, and later observations of GDB Server reporting back Revision ID of "Rev Z" convince me the Rev B one is the best option.

When trying my debug again, the image loads and verifies with no errors.  I have breakpoints on the first few lines of main() function in main.c.  None of those breakpoints ever triggered.  Instead, I get the following debug output.

 

LedToggling XIP_OSPI_InternalSRAM_Debug [STM32 C/C++ Application]	
v	LedToggling.elf [cores: 0]	
	v	Thread #1 [main] 1 [core: 0] (Suspended : Signal : SIGTRAP:Trace/breakpoint trap)	
			0x800c37e	
			<signal handler called>() at 0xfffffff9	
			Reset_Handler() at startup_stm32h7b3lihxq.s:61 0x900002ec	
	arm-none-eabi-gdb (13.2.90.20230627)	
	ST-LINK (ST-LINK GDB server)	

 

I have verified the Startup directory and it is included in the build process.

 

So my questions are:

1. Is the "Example Copy warning" something that should matter?

2. Are other STM32H7B3I-Eval and Mac users able to follow these steps?

3. Did I choose the correct external loader?

4. Is there anything else that I failed to do?

 

If you made it this far, thank you for considering my problem!

1 ACCEPTED SOLUTION

Accepted Solutions
MF1
Associate II

I was able to figure this out from scouring other problems.  The first change was to change the debug configurations, debug tab, reset behavior from "connect under reset" to "system software reset".  I did see some positive results from "reset the chip and and restart debug session" button on the ribbon, but I think the reset behavior is the key.

Once I was able to debug image, I could get only as far as initialization of the RCC.  I wasn't able to confirm or set the reference voltage to 0 and the revision from "V" to "Y", like I see others recommend with the MX tool.  I am still curious if there is an STM32CubeIDE way to do this besides changing the HAL software.

I ended up trying another example program, and there was no RCC configuration issue.  I am concluding that the example software for the LedToggling for the STM32H7B3I is broken.  Unfortunately just a big waste of time for such a simple "smoke test" that the IDE and Evaluation Board is working.

View solution in original post

5 REPLIES 5
Pavel A.
Evangelist III

 I'm an Mac developer, by day

Do you happen to have Parallels or bootcamp on this Mac?

 

I won't be installing Windows on my Mac, nor using a Windows computer.

I am very certain it is a problem with my configuration/use and not the tools themselves.

MF1
Associate II

So my questions are:

1. Is the "Example Copy warning" something that should matter?

2. Are other STM32H7B3I-Eval and Mac users able to follow these steps?

3. Did I choose the correct external loader?

4. Is there anything else that I failed to do?

MF1
Associate II

I borrowed a Windows laptop.  I went through the same exact process on Windows and get the same exact error.  This is not specific to Mac.  I am surely doing something wrong.

Questions remaining:

3. Did I choose the correct external loader?

4. Is there anything else that I failed to do?

MF1
Associate II

I was able to figure this out from scouring other problems.  The first change was to change the debug configurations, debug tab, reset behavior from "connect under reset" to "system software reset".  I did see some positive results from "reset the chip and and restart debug session" button on the ribbon, but I think the reset behavior is the key.

Once I was able to debug image, I could get only as far as initialization of the RCC.  I wasn't able to confirm or set the reference voltage to 0 and the revision from "V" to "Y", like I see others recommend with the MX tool.  I am still curious if there is an STM32CubeIDE way to do this besides changing the HAL software.

I ended up trying another example program, and there was no RCC configuration issue.  I am concluding that the example software for the LedToggling for the STM32H7B3I is broken.  Unfortunately just a big waste of time for such a simple "smoke test" that the IDE and Evaluation Board is working.