cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f429IET6have amount of does not acces memory

jzotes
Associate II
Posted on April 04, 2017 at 16:31

Hi everybody. I have problems to program one stm32f429IET6. The device is attached to a custom board. We start the project with a stm32f429IIT6. When we finished the code we realize that amount of flash was empty so we decide to change the uC to a stm32f429IET. We have made all the changes that are necesary in the stmcube , creating a new project.

The problem is when we charge the code to the new stm32f429IET6. We can see the code is being programed but the uC do not start runing. When you run the debug sesion it try to start in a not existing flash memory address. We have looked the debug settings and we realize that with the IET and the IIT, Keil only detect a 2Mb flash memory chip, what is false beacuse IET only have 512Kb.

Anyone know how to select the correct memory addresses for this device???

#debug #flash-address #memory #stm32f429
5 REPLIES 5
Posted on April 04, 2017 at 16:37

The chip die typically has 1MB or 2MB internally, you buy a '512KB' part with only that much tested.

Set the IROM size to be 0x80000 in the Target options pane, and the linker will only generate code that will fit.

If the core determines you are outside of physical memory, ie >2MB, you'll get a Hard Fault

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on April 04, 2017 at 16:39

printf('STM32F4xx %d KB FLASH, %08X-%08X-%08X UNIQUE\r\n',

*((unsigned short *)0x1FFF7A22),

*((unsigned long *)0x1FFF7A10),

*((unsigned long *)0x1FFF7A14),

*((unsigned long *)0x1FFF7A18) );
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on April 04, 2017 at 17:12

We have done that yet and the device is doing exactly the same.

Posted on April 04, 2017 at 17:21

You should perhaps look more critically at the .MAP file and what you can debug.

Make sure you have an effective Hard Fault handler so you can see if that is catching any broken code.

I'd start by getting more diagnostic code in during the early Reset Handler stage, and turning of 'run to main()' to see if the SystemInit() code, or static initialization code was broken.

Make sure the IRAM and IROM sizes are correct for the chosen device is the Target Option pane, or that you Scatter File is valid/correct for the new part.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on April 04, 2017 at 17:22

Make sure also the BOOT0 is pulled low.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..