2020-07-24 01:47 PM
HI,
I am trying to create a touchgfx application project from cube ide for H750 board. I was able to get everything compiled after merging lot of things from the project created from touchgfx it self for h750 board. But once i run my custom project, it gets stuck inside _binary____ExtMem_Boot_bootloader_bin_start() at 0x8001ca0.
This is my call stack
Please help me out. Thanks
Solved! Go to Solution.
2020-07-24 10:17 PM
Problem got solved after adding
#elif defined(VECT_TAB_QSPI)
SCB->VTOR = (unsigned int)&VECTOR_TABLE_LOCATION; /* Vector Table Relocation in External FLASH */
to the section below in systemInit function
/* Configure the Vector Table location add offset address for cortex-M7 ------------------*/
#ifdef VECT_TAB_SRAM
SCB->VTOR = D1_AXISRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal D1 AXI-RAM */
#elif defined(VECT_TAB_QSPI)
SCB->VTOR = (unsigned int)&VECTOR_TABLE_LOCATION; /* Vector Table Relocation in External FLASH */
#else
SCB->VTOR = FLASH_BANK1_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
#endif
#endif /*DUAL_CORE && CORE_CM4*/
2020-07-24 02:25 PM
Sure you're not missing an interrupt handler?
Step around, what's it actually stuck up on?
2020-07-24 09:30 PM
It is stuck on this bootloader binary. Can't debug or go step by step. It requires the bootloader because h750 code is running in external memory.
I have changed the interrupt vector as well as in the example provided by touchgfx.
#define VECTOR_TABLE_LOCATION Image$$ER_QSPI_FLASH$$Base
2020-07-24 10:17 PM
Problem got solved after adding
#elif defined(VECT_TAB_QSPI)
SCB->VTOR = (unsigned int)&VECTOR_TABLE_LOCATION; /* Vector Table Relocation in External FLASH */
to the section below in systemInit function
/* Configure the Vector Table location add offset address for cortex-M7 ------------------*/
#ifdef VECT_TAB_SRAM
SCB->VTOR = D1_AXISRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal D1 AXI-RAM */
#elif defined(VECT_TAB_QSPI)
SCB->VTOR = (unsigned int)&VECTOR_TABLE_LOCATION; /* Vector Table Relocation in External FLASH */
#else
SCB->VTOR = FLASH_BANK1_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
#endif
#endif /*DUAL_CORE && CORE_CM4*/