Other Parts Discussed in Thread: OMAP-L138, TMS320C6748, OMAPL138,
Hello everyone,
I have some questions about these two development kits, processors on them and programming them by Code Composer Studio, maybe I overlooked some existing topics or informations in some application notes, in that case please excuse me.
1) Does TMS320C6748 and OMAP-L138 processors on these kits have internal program memory flash such as ROM? Or these processors must have always external memory for program? I looked at this and in datasheets I didn't find any formulations about internal ROM program memory. Reason why I ask for this is memory write cycles in kits when I fiddling with them...
2) This question is related to first one, is related to memories. When I load program to development kits by debugger in CCS is it present in processor and running until I press reset button, then program is lost. Is it possible configure OMAPL138.cmd or C6748.cmd files to load program into boards way like program will be stored in RAM and reset cause only "restart program from zero address" and second way program store into some ROM memory (if I looked correctly - NAND flash on board) and reset function similar functionality and turn off supply doesn't leads to program lost.
My OMAPL138.cmd file from StarterWare looks:
-stack 0x8000 /* SOFTWARE STACK SIZE */
-heap 0x2000 /* HEAP AREA SIZE */
-e Entry
/* SPECIFY THE SYSTEM MEMORY MAP */
MEMORY
{
DDR_MEM : org = 0xC1080000 len = 0x2F7FFFF /* RAM */
}
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
SECTIONS
{
.init : {
system_config.lib<init.obj> (.text)
} load > 0xC1080000
.text : load > DDR_MEM /* CODE */
.data : load > DDR_MEM
.bss : load > DDR_MEM /* GLOBAL & STATIC VARS */
RUN_START(bss_start),
RUN_END(bss_end)
.const : load > DDR_MEM /* SOFTWARE SYSTEM STACK */
.cinit : load > DDR_MEM /* SOFTWARE SYSTEM STACK */
.stack : load > 0xC3FF7FFC /* SOFTWARE SYSTEM STACK */
}
and after replacing by default OMAPL138.cmd from CCS looks:
MEMORY
{
#ifdef DSP_CORE /* DSP exclusive memory regions */
DSPL2ROM o = 0x00700000 l = 0x00100000 /* 1MB L2 DSP local ROM */
DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 DSP local RAM */
DSPL1PRAM o = 0x00E00000 l = 0x00008000 /* 32kB L1 DSP local Program RAM */
DSPL1DRAM o = 0x00F00000 l = 0x00008000 /* 32kB L1 DSP local Data RAM */
#endif
SHDSPL2ROM o = 0x11700000 l = 0x00100000 /* 1MB L2 Shared Internal ROM */
SHDSPL2RAM o = 0x11800000 l = 0x00040000 /* 256kB L2 Shared Internal RAM */
SHDSPL1PRAM o = 0x11E00000 l = 0x00008000 /* 32kB L1 Shared Internal Program RAM */
SHDSPL1DRAM o = 0x11F00000 l = 0x00008000 /* 32kB L1 Shared Internal Data RAM */
EMIFACS0 o = 0x40000000 l = 0x20000000 /* 512MB SDRAM Data (CS0) */
EMIFACS2 o = 0x60000000 l = 0x02000000 /* 32MB Async Data (CS2) */
EMIFACS3 o = 0x62000000 l = 0x02000000 /* 32MB Async Data (CS3) */
EMIFACS4 o = 0x64000000 l = 0x02000000 /* 32MB Async Data (CS4) */
EMIFACS5 o = 0x66000000 l = 0x02000000 /* 32MB Async Data (CS5) */
SHRAM o = 0x80000000 l = 0x00020000 /* 128kB Shared RAM */
DDR2 o = 0xC0000000 l = 0x20000000 /* 512MB DDR2 Data */
#ifndef DSP_CORE /* ARM exclusive memory regions */
ARMROM o = 0xFFFD0000 l = 0x00010000 /* 64kB ARM local ROM */
ARMRAM o = 0xFFFF0000 l = 0x00002000 /* 8kB ARM local RAM */
#endif
}
SECTIONS
{
.text > SHRAM
.stack > SHRAM
.bss > SHRAM
.cio > SHRAM
.const > SHRAM
.data > SHRAM
.switch > SHRAM
.sysmem > SHRAM
.far > SHRAM
.args > SHRAM
.ppinfo > SHRAM
.ppdata > SHRAM
/* TI-ABI or COFF sections */
.pinit > SHRAM
.cinit > SHRAM
/* EABI sections */
.binit > SHRAM
.init_array > SHRAM
.neardata > SHRAM
.fardata > SHRAM
.rodata > SHRAM
.c6xabi.exidx > SHRAM
.c6xabi.extab > SHRAM
}
I am a little bit confused what do I have to load and where to make it work like the ways I mentioned, because I am newbie to these processors. And can bad addresses in cmd file damage processor or is there something to pay attention?
3) Is it possible that CCS in version 6.0.1.00040 on Windows 7 64 bit can cause some errors:
ARM9_0: File Loader: Data verification failed at address 0xC1080000 Please verify target memory and memory map
ARM9_0: GEL: File: OMAPL138_ARM9_GPIO.out: a data verification error occurred, file load failed.
when I load demo GPIO program onto OMAP-L138 with StarterWare OMAPL138.cmd file from point 2)? When I compressed project into ZIP and imports it on CCS6.0.1.00040 on Windows 7 32bit these errors doesn't appear, although sometimes I cannot reload program in processor from CCS Debug when program is running, it seems like debugger cannot connect it but on second test ussually connects also work reset the processor (it erase program like it was mentioned in 1) question). TMS320C6748 I load without any problems on both Windows versions and always works, on OMAP-L138 I got on 64 bit Windows into case when it seems like program was successfully loaded into ARM9 and stepping in debugger working but LEDs on board didn't changes its states.
4) The last question is about difference OMAP-L138 and TMS320C6748. If I understand it, the demo programs on OMAP-L138 looks like demo for C6748, but on OMAP-L138 I must run always ARM version and then optionally C6748 with some additional functionality versus C6748 where I run only one program? Or is it possible load only C6748 program on OMAP-L138 and it will be working (I failed on it).
Thank you in advance for your answers
Best regards
Josef K.