Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[Moved:] STM32L072RBT6 IAP jump to APP interrupt no response

Status
Not open for further replies.

Malugu

Newbie level 3
Joined
Jun 21, 2019
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
36
When I use STM32L072RBT6, according to the interrupt vector mapping of CM0, use the following code; for example, my APP address: 0x08006000;
I copy the interrupt vector table of this address to the actual address of RAM, such as 0x2000000, the total size of 0xc0 is limited;
Then perform remapping, so that the system can find the interrupt list in the APP, but the APP cannot actually cause an interrupt;
My code is as follows:
#define APPLICATION_ADDRESS ((uint32_t) 0x08003000)

The VectorTable variable is limited to 0x2000000, and the size is reserved for 512bytes;
static uint8_t i = 0;
static uint32_t tmpCfgr;
__HAL_RCC_SYSCFG_CLK_ENABLE ();
bootmode = SYSCFG-> CFGR1;

for (i = 0; i <48; i ++)
{
VectorTable = (* (uint32_t *) (APPLICATION_ADDRESS + (i << 2)));
}

// memcpy ((void *) 0x20000000, (void *) VectorTable, 0xC0);

// __ HAL_SYSCFG_REMAPMEMORY_SRAM ();

tmpCfgr = SYSCFG-> CFGR1;
tmpCfgr & = (uint32_t) (~ SYSCFG_CFGR1_MEM_MODE_Msk);
tmpCfgr | = (uint32_t) 0x03;
SYSCFG-> CFGR1 = tmpCfgr;
bootmode = SYSCFG-> CFGR1; Cannot set the mapping mode, it is always 0x00, I want to set it to 0x03
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top