cancel
Showing results for 
Search instead for 
Did you mean: 

I have an application which is running properly at the starting location i.e 0x0800 0000 (after usb boot) . If I change the starting location to 0x0800 4000 the application is still running this location 0x0800 0000 how to change flash address?

N Sornakumar
Associate III
 
5 REPLIES 5
MM..1
Chief III

As first edit your question and place detaqils to details part.

And simply MCU start normal way from 0000 or system mem. This cant change.

You need two codes when plan one code on 4000 then starter code need be on 0000

Muhammed Güler
Senior III

There should be an interrupt vector address setting in your IDE's project, linker settings. You should change the interrupt vector address of the project you plan to write to 0x0800 4000.

At 0x0800 0000 there should be a code to be set to address 0x0800 4000 of the program counter.

You also need to make sure STlink doesn't erase the entire chip.

Guillaume K
ST Employee

Hi

Please provide more details. what STM32 are you using ? what IDE/compiler/toolchain ? ST Nucleo/DK board or you own board ?

I'm wondering what you mean by "after USB boot" ? Are you using a ST Nucleo / DK board and you are just plugging the STLINK USB connector to a PC ?

N Sornakumar
Associate III

Hi @Guillaume K​ @MM..1​ 

I am using stm32f746g discovery board. I am tried "usb host msc class firmware update"

I segregate my internal flash,

0x08000000 to 0x0804000 - USB boot application

0x08040000 to 0x0810000 - USER application

Prior to this i am trying to jump the user application from boot application, but it is not working. After change the linker file script in my user application it's working properly.

My application run at 0x0804000.

Now my problem is everything i am done at using BIN file, i am tried with hex file usb bootloader it is not working ?

A .HEX file need parsing, line by line, to extract the content described within.

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