Other Parts Discussed in Thread: HALCOGEN
Hi.
I asked this thread.
Now we need to improve the execution speed of our application.
I tested to run sample program received from Mr.Bob.
It works well.
But abort occurred when we operated our application which changed to operate on RAM.
Timing of abort is Calling __TI_auto_init()→run_binit()→copy_in()→memset().
I checked the memory browser after calling _coreEnableFlashEcc_ ().
It shows many "????????"
I think that it means uncorrectable Ecc Error.
Is this Why?
The linker command file and the map file are shown below.
・Linker cmd file
MEMORY { VECTORS (X) : origin=0x00000000 length=0x00000020 fill= 0xffffffff FLASH0 (RX) : origin=0x00000020 length=(0x00180000 - size(VECTORS)) vfill=0xffffffff FLASH1 (RW): origin=0x00180000 length=0x00180000 // vfill=0xffffffff ECC_VEC (R) : origin=(0xf0400000 + (start(VECTORS) >> 3)) length=(size(VECTORS) >> 3) ECC={ algorithm=algoR4F021, input_range=VECTORS } ECC_FLA0 (R) : origin=(0xf0400000 + (start(FLASH0) >> 3)) length=(size(FLASH0) >> 3) ECC={ algorithm=algoR4F021, input_range=FLASH0 } // ECC_FLA1 (R) : origin=(0xf0400000 + (start(FLASH1) >> 3)) // length=(size(FLASH1) >> 3) // ECC={ algorithm=algoR4F021, input_range=FLASH1 } STACKS (RW) : origin=0x08000000 length=0x00001500 RAM (RW) : origin=0x08001500 length=0x0003EB00 } /* ECC algorithm */ ECC { algoR4F021 : address_mask = 0x003ffff8 /* Address Bits 21:3 */ hamming_mask = R4 /* User R4 build in Mask */ parity_mask = 0x0c /* set which ECC bits are Even and Odd parity */ mirroring = F021 /* RM4x and TMS570LSx are build in F021 */ } SECTIONS { .intvecs : {} > VECTORS .text : {} > FLASH0 .const : {} > FLASH0 .cinit : {} > FLASH0 .pinit : {} > FLASH0 .bss : {} > RAM .data : {} > RAM .sysmem : {} > RAM .binit : {} > FLASH0 .runFromRAM : { BitCbit.obj (.text) /* I wrote it in the same way as above. Total 48 .obj Files */ } load = FLASH0, run = RAM, table(BINIT) }
・Map file
MEMORY CONFIGURATION name origin length used unused attr fill ---------------------- -------- --------- -------- -------- ---- -------- VECTORS 00000000 00000020 00000020 00000000 X ffffffff FLASH0 00000020 0017ffe0 0000be70 00174170 R X (ffffffff) FLASH1 00180000 00180000 00000000 00180000 RW STACKS 08000000 00001500 00000000 00001500 RW RAM 08001500 0003eb00 00022607 0001c4f9 RW ECC_VEC f0400000 00000004 00000004 00000000 R ECC_FLA0 f0400004 0002fffc 0002fffc 00000000 R SEGMENT ALLOCATION MAP run origin load origin length init length attrs members ---------- ----------- ---------- ----------- ----- ------- 00000000 00000000 00000020 00000020 r-x 00000000 00000000 00000020 00000020 r-x .intvecs 000067bc 000067bc 0000567c 0000567c r-x 000067bc 000067bc 00004cc8 00004cc8 r-x .text 0000b484 0000b484 000009b4 000009b4 r-- .const 0000be38 0000be38 00000058 00000058 r-- 0000be38 0000be38 00000048 00000048 r-- .cinit 0000be80 0000be80 00000010 00000010 r-- .binit 08001500 08001500 0001bd0b 00000000 rw- 08001500 08001500 0001bd0b 00000000 rw- .bss 0801d20c 00000020 0000679c 0000679c r-x 0801d20c 00000020 0000679c 0000679c r-x .runFromRAM 080239a8 080239a8 00000160 00000000 rw- 080239a8 080239a8 00000160 00000000 rw- .data f0400000 f0400000 00030000 00030000 r-- f0400000 f0400000 00000004 00000004 r-- .ecc0 f0400004 f0400004 0002fffc 0002fffc r-- .ecc1