stm32h745 calls to itcm code crash when called from freertos task.
In the flash.ld file:
/* Memories definition */
MEMORY
{
...
ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
}
SECTIONS
{
.......
.itcm :
{
. = ALIGN(4);
*(.itcmram) /* .section_name section */
. = ALIGN(4);
} >ITCM_RAM AT> FLASH
the function:
int __attribute__((section(".itcmram")))NullJump(int j)
{
return j+1;
}
The function works when called before freertos starts,
but jumps to :
HardFault_Handler(void)
on return from function when the OS is running.
Errors are:
bus memory management or useage fault(forced)
and:
imprecise data access violation
ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K - should this be (xrw)?
Any clues please? I am using cubeide and v1.9 of the h7 libraries.
