Jump to another application in Flash memory on stm32f4-discovery board
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2017-02-24 5:25 AM
How to jump to another application in Flash memory on stm32f4-discovery board? Can anyone give complete ibstruction step by step? I have already written bin file to flash. Now I want only to run it. I looked through manu forums and saw a lot of advises, but my project doesn't work.
It is one of the examples I've seen:
static void boot_jump(uint32_t address) {
typedef void (*pFunction)(void);pFunction Jump_To_Application;uint32_t JumpAddress;if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000) { JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4); Jump_To_Application = (pFunction) JumpAddress; __set_MSP(*(__IO uint32_t*) ApplicationAddress); Jump_To_Application(); }}It is in first default application. And In another target application I modified file system_stm32f4xx.c:
#define VECT_TAB_SRAM
#define VECT_TAB_OFFSET 0x10000 /*!< Vector Table base offset field. This value must be a multiple of 0x200. */I also modified options for Target-Target IROM1: 0x8010000 SIze 0x8000
and Linker: Disable 'Use Memory Layout from Target Dialog' and R/O Base:0x8010000
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2017-02-24 5:36 AM
Ok so you are at a point where you need to examine what you have created. Run your debugger and step across the transition.
You should not be using interrupts.
Up vote any posts that you find helpful, it shows what's working..
