Skip to main content
Kasun Dinesh
Associate III
July 24, 2020
Solved

Custom Project for H750-DK board from cubeide and touchgfx get stuck in __ExtMem_Boot_bin_Start()

  • July 24, 2020
  • 2 replies
  • 1574 views

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

0693W000003BHEnQAO.jpg

Please help me out. Thanks

This topic has been closed for replies.
Best answer by Kasun Dinesh

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*/

2 replies

Tesla DeLorean
Guru
July 24, 2020

Sure you're not missing an interrupt handler?

Step around, what's it actually stuck up on?

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
Kasun Dinesh
Associate III
July 25, 2020

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

Kasun Dinesh
Kasun DineshAuthorBest answer
Associate III
July 25, 2020

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*/