Цитата(vlad_new @ Jan 31 2014, 15:20)

Откуда взялись такие адреса? Вы в курсе, что ARM 32 разрядный процессор а не 8 и у него соответственно адрес занимает 4 байта а не один.
А вы гляньте таблицу векторов
Код
Reset_Handler 0x08005101 Thumb Code 4 stm32f10x.o(.text)
NMI_Handler 0x08005105 Thumb Code 2 stm32f10x.o(.text)
MemManage_Handler 0x08005109 Thumb Code 2 stm32f10x.o(.text)
BusFault_Handler 0x0800510b Thumb Code 2 stm32f10x.o(.text)
UsageFault_Handler 0x0800510d Thumb Code 2 stm32f10x.o(.text)
ПС. Вопрос закрыт
Код
void JumpToApplication(Int32U addr)
{
typedef void (*pFunction)(void);
pFunction Jump_To_Application;
Int32U JumpAddress;
if(addr>=0x08005000)
{
JumpAddress = *(Int32U*) (addr + 4);
Jump_To_Application = (pFunction) JumpAddress;
/* Initialize user application's Stack Pointer */
__MSR_MSP(*(vu32*) addr);
Jump_To_Application();
}
}
Сообщение отредактировал Alex_1811 - Jan 31 2014, 13:38