I just downloaded a program skeleton from the companion file to TI Tech Note "SPRA755A - Getting started ... TMS320LF240x DSP" by David Alter (clear and consistent). The real time program example (EXAMPLE_RTM.C] works right out of the box. I read furthermore that the same code can be programmed directly to flash --- "Set [JP3 and JP4 on the EZDSP board corresponding to VCCP and MP/MC pins on the DSP] to the 2�3 position if you want to program the FLASH with the example program, and leave in the 2�3 position to run the program out of the FLASH after it is programmed." (SPRA755A, pg 3) However when I try to load my .OUT file from Code Composer, it tells me several memory locations failed to load. Could it be that the memory model is not the same? Is there a prototype CMD file for using on chip flash? Can I load flash through Code Composer? The snippet below from this newsgroup suggests that, at least in the distant past, this was a non-trivial task. Thanks Bob From: A Murphy (ajmurphy@worldnet.att.net) Subject: Re: Anyone use the TMS320LF2407 eZdsp DSK? Newsgroups: comp.dsp Date: 2001-04-16 09:32:05 PST We just completed a project on the LF2407. The results came out alright but it took 2-3x longer than anticipated, partially due to quirks with the LF2407 DSP. Hardware design was straightforward with this chip, they have a good external interface. The IO mapped space is worthless as the C compiler and assembler only support one addressing mode in IO space - no offset addresses, indirect addressing etc in IO map. The In-circuit Flash programming was a nitemare. Couldn't do it in C, poor/no support code from TI.
EZDSP Flasher
Started by ●October 8, 2003
Reply by ●October 9, 20032003-10-09
Bob, First, are you using the code-composer programmer plug-in? If not, you should download it and try again with it. If you are using it, I have sometimes seen an error that sounds similar to what you're reporting (depending on if you're getting it at some random address or always at some power of two), and closing code composer and power-cycling the board usually seems to fix it. Also, I assume you're building your code for the ROM model (I think the library needs to be rebuilt as well, in order to support constants being loaded from program space ROM). Regarding the message you quoted, that's for a different thing: programming the FLASH from within the DSP chip. This is now actually quite easy, they've developed a nice library for doing this. And regarding the I/O memory space, it's indeed a pain -- on an earlier design, I ended up using self-modifying code to do a general outport(addr, datum) function, but it was gross and slow. HTH, -Mike "Bob Arnold" <elfinranger2300@hotmail.com> wrote in message news:46820631.0310072121.b47777d@posting.google.com...> I just downloaded a program skeleton from the companion file to TI > Tech Note "SPRA755A - Getting started ... TMS320LF240x DSP" by David > Alter (clear and consistent). The real time program example > (EXAMPLE_RTM.C] works right out of the box. I read furthermore that > the same code can be programmed directly to flash --- > > "Set [JP3 and JP4 on the EZDSP board corresponding to VCCP and MP/MC > pins on the DSP] to the 2-3 position if you want to program the FLASH > with the example program, and leave in the 2-3 position to run the > program out of the FLASH after it is programmed." (SPRA755A, pg 3) > > However when I try to load my .OUT file from Code Composer, it tells > me several memory locations failed to load. Could it be that the > memory model is not the same? Is there a prototype CMD file for using > on chip flash? Can I load flash through Code Composer? > > The snippet below from this newsgroup suggests that, at least in the > distant past, this was a non-trivial task. > > Thanks > Bob > > From: A Murphy (ajmurphy@worldnet.att.net) > Subject: Re: Anyone use the TMS320LF2407 eZdsp DSK? > Newsgroups: comp.dsp > Date: 2001-04-16 09:32:05 PST > > > We just completed a project on the LF2407. The results came out > alright but > it took 2-3x longer than anticipated, partially due to quirks with the > LF2407 DSP. Hardware design was straightforward with this chip, they > have a > good external interface. The IO mapped space is worthless as the C > compiler > and assembler only support one addressing mode in IO space - no offset > addresses, indirect addressing etc in IO map. The In-circuit Flash > programming was a nitemare. Couldn't do it in C, poor/no support code > from > TI.
Reply by ●October 10, 20032003-10-10
I am not sure whether I have the "plug-in" - I don't recall there
being any choices on installation. The Code Composer application
reports the following --
Integrated Development Environment 4.10.57.57 Texas Instruments
Board Revision 00.00.81
Target Silicon Revision 00.00.205
Device Driver Revision 2.15 Spectrum Digital Incorporated
Command Window 1.21 Texas Instruments
Should I be using the standalone DOS programmer i.e.
flashtools>lf240xA>serial>rev10>loader1.bat or similar?
The error that I'm getting "Data verification failed at ..." is
reported at the following addresses all the time - I've power cycled
three times--
44h
183h
18Ah
0h
The memory model I'm using is as follows--
MEMORY
{
PAGE 0: /* Program Memory */
VECS: org=00000h, len=00040h /* internal FLASH */
FLASH: org=00044h, len=07FBCh /* internal FLASH */
EXTPROG: org=08800h, len=07800h /* external SRAM */
PAGE 1: /* Data Memory */
B2: org=00060h, len=00020h /* internal DARAM */
B0: org=00200h, len=00100h /* internal DARAM */
B1: org=00300h, len=00100h /* internal DARAM */
SARAM: org=00800h, len=00800h /* internal SARAM */
EXTDATA: org=08000h, len=08000h /* external SRAM */
}
SECTIONS
{
/* Sections generated by the C-compiler */
.text: > FLASH PAGE 0 /* initialized */
.cinit: > FLASH PAGE 0 /* initialized */
.const: > B1 PAGE 1 /* initialized */
.switch: > FLASH PAGE 0 /* initialized */
.bss: > B1 PAGE 1 /* uninitialized */
.stack: > SARAM PAGE 1 /* uninitialized */
.sysmem: > B1 PAGE 1 /* uninitialized */
/* Realtime monitor required sections */
mon_main: > FLASH PAGE 0 /* initialized */
mon_pge0: > B2 PAGE 1 /* unitialized */
mon_rgst: > B2 PAGE 1 /* unitialized */
/* Sections declared by the user */
vectors: > VECS PAGE 0 /* initialized */
}
Thanks for your help.
Bob
Reply by ●October 10, 20032003-10-10
Bob,
The plugin has to be downloaded separately (I can't quite remember
exactly, but somewhere on the TI website). I get the following versions
(note the addition flash programmer listed).
COMPONENT VERSION COMPANY
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------
Integrated Development Environment 4.10.57.57 Texas Instruments
Board Revision 00.00.00
Target Silicon Revision 00.00.00
Device Driver Revision 2.15 Spectrum Digital Incorporated
TMS320LF24xx Flash Programmer 1.1.01 Texas Instruments
Command Window 1.21 Texas Instruments
Also, what board & jtag are you using? I would NOT use the "standalone DOS
programmer -- that's to program it over the serial port, but I managed to
ruin a DSP by not having the timing params right, so it's a bit tricky).
It's also possible you have a bad DSP chip. Try looking at those locations
in CC using the display memory option. But first I would use the Flash
programmer plug-in and see if it works. How are you doing it now, BTW?
Also, here's my .cmd file, it has a few extra things you don't need, but I
don't have anything simpler that I know works:
Note the use of the .const load / run for initializing global vars, which
you will want.
MEMORY
{
PAGE 0: /* Program Memory */
FLASHCHK org=01000h, len=01h
COM_BOOT org=01001h, len=20h
FLSH_S12: org=01021h, len=05FdFh /* internal FLASH */
ABSRAM: origin = 0x8000, length = 0x0040
/* EXTPROG: org=08800h, len=07800h /* external SRAM */
PAGE 1: /* Data Memory */
B2: org=00060h, len=00020h /* internal DARAM */
BLKB0FL: origin = 0x0200, length = 0x020 /* internal DARAM -- use for
flash vars*/
BLKB0B1: origin = 0x0220, length = 0x01e0 /* internal DARAM */
/* SARAM: org=00800h, len=00800h /* internal SARAM */
EXTDATA: org=08000h, len=06000h /* external SRAM */
PACK_MEM: org=0E000h, len=1000h /* for communications packet */
}
SECTIONS
{
/* Sections generated by the C-compiler */
.text: > FLSH_S12 PAGE 0 /* initialized */
.cinit: > FLSH_S12 PAGE 0 /* initialized */
.const: load = FLSH_S12 PAGE 0, run = EXTDATA PAGE 1
{
__const_run = . ;
*(.c_mark)
*(.const)
__const_length = . - __const_run;
}
.switch: > FLSH_S12 PAGE 0 /* initialized */
.bss: > EXTDATA PAGE 1 /* uninitialized */
.stack: > EXTDATA PAGE 1 /* uninitialized */
.sysmem: > EXTDATA PAGE 1 /* uninitialized */
/* Sections declared by the user */
/* .usect "PROGFLSH": > FLASHCHK PAGE 0 */
.usect "comboot": > COM_BOOT PAGE 0
.usect "packbuff": > PACK_MEM PAGE 1
.usect "mks4sys": > B2 PAGE 1
.flshvar : {} > BLKB0FL PAGE 1
}
"Bob Arnold" <elfinranger2300@hotmail.com> wrote in message
news:46820631.0310101301.69490800@posting.google.com...
> I am not sure whether I have the "plug-in" - I don't recall there
> being any choices on installation. The Code Composer application
> reports the following --
>
> Integrated Development Environment 4.10.57.57 Texas Instruments
> Board Revision 00.00.81
> Target Silicon Revision 00.00.205
> Device Driver Revision 2.15 Spectrum Digital Incorporated
> Command Window 1.21 Texas Instruments
>
> Should I be using the standalone DOS programmer i.e.
> flashtools>lf240xA>serial>rev10>loader1.bat or similar?
>
> The error that I'm getting "Data verification failed at ..." is
> reported at the following addresses all the time - I've power cycled
> three times--
> 44h
> 183h
> 18Ah
> 0h
>
> The memory model I'm using is as follows--
>
> MEMORY
> {
> PAGE 0: /* Program Memory */
> VECS: org=00000h, len=00040h /* internal FLASH */
> FLASH: org=00044h, len=07FBCh /* internal FLASH */
> EXTPROG: org=08800h, len=07800h /* external SRAM */
>
> PAGE 1: /* Data Memory */
> B2: org=00060h, len=00020h /* internal DARAM */
> B0: org=00200h, len=00100h /* internal DARAM */
> B1: org=00300h, len=00100h /* internal DARAM */
> SARAM: org=00800h, len=00800h /* internal SARAM */
> EXTDATA: org=08000h, len=08000h /* external SRAM */
> }
>
> SECTIONS
> {
> /* Sections generated by the C-compiler */
> .text: > FLASH PAGE 0 /* initialized */
> .cinit: > FLASH PAGE 0 /* initialized */
> .const: > B1 PAGE 1 /* initialized */
> .switch: > FLASH PAGE 0 /* initialized */
> .bss: > B1 PAGE 1 /* uninitialized */
> .stack: > SARAM PAGE 1 /* uninitialized */
> .sysmem: > B1 PAGE 1 /* uninitialized */
>
> /* Realtime monitor required sections */
> mon_main: > FLASH PAGE 0 /* initialized */
> mon_pge0: > B2 PAGE 1 /* unitialized */
> mon_rgst: > B2 PAGE 1 /* unitialized */
>
> /* Sections declared by the user */
> vectors: > VECS PAGE 0 /* initialized */
> }
>
> Thanks for your help.
> Bob
Reply by ●October 12, 20032003-10-12
Mike, Thanks for your help on this - I found the flash "plugin", however, I don't have a JTAG connection - I'm programming via the PC parallel port and so that didn't really work. After I've thoroughly tested everything I can I might venture to use the DOS utilities - any words of advice - any foolproof way? I notice that one diff between your memory map and the one I'm using is that you load the program above 1000h - I think from my brief reading of the docs, this is because the boot loader(which is enabled via BOOT_EN) occupies the first 1000h and branches to 1000h when done - is this right? I will keep your file for reference. The memory edit function in my Code Composer does not work as advertised, however, I can change variables during exection using the watch window. Any reason for this? Regards Bob
Reply by ●October 12, 20032003-10-12
Which eval board are you using? "Bob Arnold" <elfinranger2300@hotmail.com> wrote in message news:46820631.0310112045.64ce6c35@posting.google.com...> Mike, > > Thanks for your help on this - I found the flash "plugin", however, I > don't have a JTAG connection - I'm programming via the PC parallel > port and so that didn't really work. After I've thoroughly tested > everything I can I might venture to use the DOS utilities - any words > of advice - any foolproof way? > > I notice that one diff between your memory map and the one I'm using > is that you load the program above 1000h - I think from my brief > reading of the docs, this is because the boot loader(which is enabled > via BOOT_EN) occupies the first 1000h and branches to 1000h when done > - is this right? I will keep your file for reference. > > The memory edit function in my Code Composer does not work as > advertised, however, I can change variables during exection using the > watch window. Any reason for this? > > Regards > Bob
Reply by ●October 16, 20032003-10-16
"Mike Shonle" <mike@psychonic.net> wrote in message news:<wN-dnYCcq_nGURSiRTvUqQ@speakeasy.net>...> Which eval board are you using?eZdsp� LF2407 for TMS320LF2407A DSP + Power supply + Code Composer for C2xxx http://www.spectrumdigital.com/cgi/catalog.cgi?show_product=761119 Regards, Bob
Reply by ●October 16, 20032003-10-16
That's the same board I used. It does actually do JTAG over parallel port, so the flash programmer plug-in works fine with it. Which OS are you using? I use Windows 2000. "Bob Arnold" <elfinranger2300@hotmail.com> wrote in message news:46820631.0310151933.210100df@posting.google.com...> "Mike Shonle" <mike@psychonic.net> wrote in messagenews:<wN-dnYCcq_nGURSiRTvUqQ@speakeasy.net>...> > Which eval board are you using? > > eZdspT LF2407 for TMS320LF2407A DSP + Power supply + Code Composer forC2xxx> > http://www.spectrumdigital.com/cgi/catalog.cgi?show_product=761119 > > Regards, Bob
Reply by ●October 20, 20032003-10-20
"Mike Shonle" <mike@psychonic.net> wrote in message news:<GcWdncldxaYQgBOiRTvUqA@speakeasy.net>...> That's the same board I used. It does actually do JTAG over parallel port, > so the flash programmer plug-in works fine with it. Which OS are you using? > I use Windows 2000. >Mike, Sorry for taking so long to reply. I use Windows 2000 also -- Are you by any chance using the JP10 JTAG header to connect to the || port and if so do you have pinouts for that? Thanks again. Bob Item Value OS Name Microsoft Windows 2000 Professional Version 5.0.2195 Build 2195 OS Manufacturer Microsoft Corporation System Name BASTIONSQUARE System Manufacturer ECS System Model K7VMM+ System Type X86-based PC Processor x86 Family 6 Model 7 Stepping 0 AuthenticAMD ~1100 Mhz BIOS Version 03/14/03 Windows Directory C:\WINNT Locale United States Time Zone Pacific Daylight Time Total Physical Memory 114,160 KB Available Physical Memory 35,588 KB Total Virtual Memory 360,708 KB Available Virtual Memory 204,984 KB Page File Space 246,548 KB
Reply by ●October 21, 20032003-10-21
The JP10- JTAG header is for use with a standard (e.g. XDS510PP etc.) JTAG interface (There's a standard pinout). I have used it as well, but the EZ-dsp board has a built-in XDS510 JTAG emulator, so you don't need a different one. You should be able to program the flash using what you have plus the programmer plugin. Note however, that's it's relatively easy to physically destroy the chip when trying to program it (this happened to me when I tried to use the serial port programming technique). -Mike "Bob Arnold" <elfinranger2300@hotmail.com> wrote in message news:46820631.0310192201.7b7dd3e2@posting.google.com...> "Mike Shonle" <mike@psychonic.net> wrote in messagenews:<GcWdncldxaYQgBOiRTvUqA@speakeasy.net>...> > That's the same board I used. It does actually do JTAG over parallelport,> > so the flash programmer plug-in works fine with it. Which OS are youusing?> > I use Windows 2000. > > > Mike, > > Sorry for taking so long to reply. I use Windows 2000 also -- Are you > by any chance using the JP10 JTAG header to connect to the || port and > if so do you have pinouts for that? > > Thanks again. > Bob > > Item Value > OS Name Microsoft Windows 2000 Professional > Version 5.0.2195 Build 2195 > OS Manufacturer Microsoft Corporation > System Name BASTIONSQUARE > System Manufacturer ECS > System Model K7VMM+ > System Type X86-based PC > Processor x86 Family 6 Model 7 Stepping 0 AuthenticAMD ~1100 Mhz > BIOS Version 03/14/03 > Windows Directory C:\WINNT > Locale United States > Time Zone Pacific Daylight Time > Total Physical Memory 114,160 KB > Available Physical Memory 35,588 KB > Total Virtual Memory 360,708 KB > Available Virtual Memory 204,984 KB > Page File Space 246,548 KB






