detoxie wrote on Friday, February 06, 2015:
Hi again,
I mentioned this above:
“One thing is that I’ve used HALCoGen’s sys_link.cmd file and not the file from your demo project. But I use the same sys_link.cmd file (HALCoGen produced) for the 8.1.2 project.”
I have now tested the demo project with 8.2.0. Added some of my code with the GIO ISR and the notification stuff, and it works!!
So maybe the Texas (HALCoGen) memory mapping and the section configuration is causing this abort. I don’t know but maybe it’s a hint.
But as I said, I can continue with 8.1.2. I will share this information to the HALCoGen team too. But if you have an idea to what to do/change to make it work I will of course be grateful. Regards, Lars
Demo sys_link.cmd file
= = = = = = = = = = = =
#!c
/* Memory Map */
MEMORY
{
VECTORS (X) : origin=0x00000000 length=0x00000020
FLASH0 (RX) : origin=0x00000020 length=0x0017FFE0
FLASH1 (RX) : origin=0x00180000 length=0x00180000
STACKS (RW) : origin=0x08000000 length=0x00000200
RAM (RW) : origin=0x08000200 length=0x0003FE00
}
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
.intvecs : {} > VECTORS
.text : {} > FLASH0 | FLASH1
.const : {} > FLASH0 | FLASH1
.cinit : {} > FLASH0 | FLASH1
.pinit : {} > FLASH0 | FLASH1
.heap : {} > RAM
.bss : {} > RAM
.data : {} > RAM
/* .sysmem : {} > RAM */
}
/*----------------------------------------------------------------------------*/
HALCoGen sys_link.cmd file
= = = = = = = = = = = = =
#!c
/*----------------------------------------------------------------------------*/
/* Linker Settings */
--retain="*(.intvecs)"
/*----------------------------------------------------------------------------*/
/* Memory Map */
MEMORY
{
VECTORS (X) : origin=0x00000000 length=0x00000020
KERNEL (RX) : origin=0x00000020 length=0x00008000
FLASH0 (RX) : origin=0x00008020 length=0x00177FE0
FLASH1 (RX) : origin=0x00180000 length=0x00180000
STACKS (RW) : origin=0x08000000 length=0x00001500
KRAM (RW) : origin=0x08001500 length=0x00000800
RAM (RW) : origin=(0x08001500+0x00000800) length=(0x0003eb00 - 0x00000800)
}
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
.intvecs : {} > VECTORS
/* FreeRTOS Kernel in protected region of Flash */
.kernelTEXT : { sys_startup.obj(.const)
tasks.obj (.const:.string)
-l=rtsv7R4_T_le_v3D16_eabi.lib<auto_init.obj> (.text)
-l=rtsv7R4_T_le_v3D16_eabi.lib<copy_decompress_rle.obj> (*)
-l=rtsv7R4_T_le_v3D16_eabi.lib<cpy_tbl.obj> (*)
-l=rtsv7R4_T_le_v3D16_eabi.lib<copy_zero_init.obj> (*)
-l=rtsv7R4_T_le_v3D16_eabi.lib<copy_decompress_none.obj> (*)
-l=rtsv7R4_T_le_v3D16_eabi.lib<icall32.obj> (.text)
-l=rtsv7R4_T_le_v3D16_eabi.lib<memset32.obj> (.text)
-l=rtsv7R4_T_le_v3D16_eabi.lib<memcpy32.obj> (.text)
} > KERNEL
.cinit : {} > KERNEL
.pinit : {} > KERNEL
/* Rest of code to user mode flash region */
.text : {} > FLASH0 | FLASH1
.const : {} > FLASH0 | FLASH1
/* FreeRTOS Kernel data in protected region of RAM */
.kernelBSS : {} > KRAM
.kernelHEAP : {} > RAM
.bss : {} > RAM
.data : {} > RAM
.sysmem : {} > RAM
FEE_TEXT_SECTION : {} > FLASH0 | FLASH1
FEE_CONST_SECTION : {} > FLASH0 | FLASH1
FEE_DATA_SECTION : {} > RAM
}