cancel
Showing results for 
Search instead for 
Did you mean: 

Use Flash Loader with  a STM32L471 512K

Javier Gutierrez
Associate II
Posted on September 13, 2017 at 13:25

Hi,

We are developed a proyect with teh MCU STM32L471. We have downloaded the appliacation Flash Loader V2.9  but don't have the file .STMap for this MCU.

We have a questions:

- Is there a newer version of the Flash Loader that includes the STM32L471?

- Is it possible for the ST community to provide us with the .stmap file for the STM32L471 or how to do it ourselves?

Thanks in advance

Best regards

#flash-loader #stm32l471
16 REPLIES 16

The system loader protocol might permit you to read/write peripheral registers, or you might need to upload a small code sequence to RAM and execute that.

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

Hi Clive,

Thanks for your answer.

In time on booloader secuence, Is possible to configure registers for ?:

- Disable bootloader Sources, for example, disable USART2

- Configure a specific GPIO as input.

 Best regards

Javier Gutierrez
Associate II

Hi Clive,

Now I understood what you wanted to say.

I see that it is possible to write any memory address through the protocol of the bootloader.

Regarding the second thing you mention, how is it possible to load a code in RAM with the STMcubeprogrammer? We load a .bin in Flash memory with STMCubeProgrammer but I don't know how load a code in RAM memory.

Best regards

The Command Line version of the STMCubeProgrammer provides more options than the GUI version.

We wrote our own applications to connect via the USART and System Loader, which provides a lot more flexibility.

You'd need to find an unused block of RAM, build an applet for that location, download and execute (go) that.

If you have hardware on the board interfering with operation of the system loader, you'd probably want to make your own small loader using the first 16KB of FLASH, perhaps using a more convenient protocol.

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

Hi Clive

Thanks for your answer.

We also thought about doing our own apilcation to load the program but we wanted to take advantage of the software developed by ST.

As you say, we have an interference in our hardware. That's why we need one of the following things:

- Disable the USART2 as a bootloader source.

- Put a GPIO as an analog input

Is it possible to do this with the STMCubeProgrammer commands?

Regarding what you mention of the program in RAM, how is this program loaded from the STCubeProgramer?

Best Regards

Not sure you can alter what the boot loader uses and monitors, that's why they document it and tell you what pins not to transition.

Typically you'd load your applet code into an unused area of RAM, say 0x20002000, but outside of the scope of the RAM used by the system loader itself for buffers, stacks, etc. You'd have to analyze it, not something I'm looking to spend time doing.

The applet would minimally need a vector table entry with SP/PC, and you'd use the GO command to make it run.

https://www.st.com/content/ccc/resource/technical/document/application_note/51/5f/03/1e/bd/9b/45/be/CD00264342.pdf/files/CD00264342.pdf/jcr:content/translations/en.CD00264342.pdf

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

Hi Clieve

That is what i think.

I'll analyze the documentation and I'll tell you.

Thank you very much

Regards