2014-05-19 01:23 AM
Hi all,
I've develop a specific bootloader which calling my application.My application is based on FreeRTOS.When the application starts after the jump, the firmware crashes in hardfault.It works fine when I don't use the FreeRTOS scheduler.I've tested my application (with FreeRTOS enabled) by loading it with the debugger and it works fine.FreeRTOS starts their tasks by calling SVC.Then, i've try also to replace the FreeRTOS scheduler starting by a simply __asm volatile (''svc 0'') and I reproduce the same issue.The application address is 0x0800C000.Like clive suggested, I have use a system call in my bootloader :void SVC_Handler(void){ pFunction Jump_To_Application; uint32_t JumpAddress; /* Jump to user application */ JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4); Jump_To_Application = (pFunction) JumpAddress; __disable_irq(); /* Initialize user application's Stack Pointer */ __set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS); Jump_To_Application();}I've checked the VECT_TAB_OFFSET in system_stm32f4xx.c to set it to 0xC000.Can anybody help me ?Thanks a lot,Pascal #stm32-freertos2017-03-16 09:47 AM
A lot of content got damaged in the transition to Jive. Use the SEARCH function to find content relevant to your query.
I've fixed the dead-links above, but there are probably some below those, I don't have time go fix the forum, that's ST's job (you broke, you fix it)
Perhaps rather than posting against 3 year old threads, start a new one, citing the old threads, providing full context of your current issue, and what you've tried from the old ones.
Issues with the F7 parts are likely to be nuanced by things unique to those parts, you'll need to be specific about what 'problem' you are having.