Our DSP BIOS project runs from FLASH. There are few functions that are stored in FLASH but run from RAM. This all seems to OK.
However, there are two holes that are filled and these are being located directly to RAM in the hex file output. These holes are related to the idle task in the DSP BIOS.
Here is a snippet from the top of the output file:
:209B4200000000000000000000000000000000000000000000000000000000000000000003 //RAM
:209B52000000000000000000000000000000000000000000000000000000000000000000F3 //RAM
:089B8C000000000000000000D1 //RAM
:02000004003EBC //ADDRESS EXTENDER 0x3E
:20800200C879003EC879003EC879003EC879003EC879003EC879003EC879003EC879003E66 //FIRST FLASH LINE 0x3F8002
These zeros going to RAM are from these directives. Look for "--HOLE-- [fill = 0000]"::
..TSK_idle$stk
* 0 000099b6 00000098 UNINITIALIZED
000099b6 00000098 TargetBioscfg.obj (.TSK_idle$stk)
.prd 0 00009a4e 00000030 UNINITIALIZED
00009a4e 00000030 TargetBioscfg.obj (.prd)
.bss 0 00009a7e 00000002 UNINITIALIZED
00009a7e 00000002 AsmRoutines.obj (.bss)
.tsk 0 00009a80 0000006a UNINITIALIZED
00009a80 0000006a TargetBioscfg.obj (.tsk)
.sts 0 00009aea 00000030 UNINITIALIZED
00009aea 00000030 TargetBioscfg.obj (.sts)
.swi 0 00009b1a 00000028 UNINITIALIZED
00009b1a 00000028 TargetBioscfg.obj (.swi)
.trace 0 00009b42 00000020
00009b42 00000020 --HOLE-- [fill = 0000]
.sem 0 00009b62 00000016 UNINITIALIZED
00009b62 00000016 TargetBioscfg.obj (.sem)
.sys 0 00009b78 00000008 UNINITIALIZED
00009b78 00000008 TargetBioscfg.obj (.sys)
.idl 0 00009b80 00000006 UNINITIALIZED
00009b80 00000006 TargetBioscfg.obj (.idl)
.idlcal 0 00009b86 00000006 UNINITIALIZED
00009b86 00000006 TargetBioscfg.obj (.idlcal)
.args 0 00009b8c 00000004
00009b8c 00000004 --HOLE-- [fill = 0]
I don't think I really need these holes filled but I am not sure.
Do I need these filled as it seems to be in a DSP BIOS area?
If not, how do I disable the fill?
The value in,
CCS Build->C2000 Linker->Advanced Options->Runtime Environment->Default fill value
is blank. However, I don't think that this enables\disables fill, rather only dictates a value other than the default value which appears to be zero.
Any ideas,
Regards,
Jim