2021-02-17 05:05 AM
Hi all,
I am doing one project where TouchGFX data has to be store in External Flash.
For this I created Custom External loader for QSPI Flash.
Tested this external loader in STM32CubeProgrammer by writing and reading 1Mb of data, and its working fine.
And also TouchGFX with internal flash its working fine.
But once I added the External Loader for TouchGFX project then code is going into HardFault Error.
Also I added below script still its is going into HardFault Error.
/* Memories definition */
MEMORY
{
DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K
RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K
RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048K
QSPI (r) : ORIGIN = 0x90000000, LENGTH = 32M
}
FontFlashSection :
{
*(FontFlashSection FontFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >QSPI
TextFlashSection :
{
*(TextFlashSection TextFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >QSPI
ExtFlashSection :
{
*(ExtFlashSection ExtFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >QSPI
MCU = STM32H743BIT6
IDE = STM32CubeIDE (1.5.0)
Generator Tool = STM32CubeMX (6.1.0)
Graphics = TouchGFX (4.16.0)
it will be appreciated if someone explain what to do additionally.