PDA

View Full Version : USB Servopod memory and jtag loader questions...


revampedcomplex
02-10-07, 10:49 AM
I'm a little confused on the memory modes that I should be using, this is with smallC and the USB servopod (DSP56F807). I have a few questions that I hope some kind soul can help me out with...

1) What memory mode should I be using?

2) Is memory mode completely determined by the jumper settings, or also effected by the cfg file (see question 3)?

Currently I am using Mode A&B (internal & external combine) which features the following:

* 32K x 16 Program Flash (internal)
* 2K x 16 Boot Flash (internal)
* 8K x 16 Data Flash (internal)
* 2K x 16 Program ram (internal)
* 32K x 16 Program ram (external)
* 4K x 16 Data Ram (internal)
* 48K x 16 Data Ram (external)

That means my jumpers are:

Jumper State Description
J13 Pins 1 and 2 powers board via USB instead of external power
J14 Closed enables external memory
J15 Pins 2 and 3 allows use of USB instead of RS-232
J16 Closed USB powered by its own bus
J20 Open Boot from internal flash program memory


3) What is the different between internal memory and external memory?

4) Does my memory mode and jumpers need to be coordinated with the data in flash807.cfg? This file seems to be allocating 5 sections in memory... is this correct, and should this match the above breakdown in some way? If you change the jumpers, do you have to change this CFG file? I am trying to match the contents of this file with one of the memory modes to figure out which mode i need to be in...

* 0x0000 0x0003 (4 bytes)
* 0x0004 0x7fff (32.7K) (program int/ext?)
* 0x8000 0xefff (28.6K) (program int/ext?)
* 0xf800 0xffff (2.048K) (program ram int/boot flash ext?)
* 0x2000 0x3fff (8.192K) (data flash?)

Thank you for any help you can provide, I'm writing and loading smallC apps just fine and I am not running out of memory yet, but right now the memory allocation on the board is a bit of a black box to me.

Thanks!

nmitech
02-12-07, 12:23 PM
1) What memory mode should I be using?
It depends on your application, program/data memory requirements, and development software and/or programming language. See replies below for details.


2) Is memory mode completely determined by the jumper settings, or also effected by the cfg file (see question 3)?
Yes to both. In general, ServoPod-USB has 3 memory configuration options, Mode A, Mode B, and Mode 3. Selecting each mode can be related to changing the hardware jumper, J20 and software programming combined. By default, jumper J20 (boot mode) is not connected. This supports both Mode 0A & 0B. By default (on reset condition) Mode A is selected. To switch from mode A to B you need to set the BOOTMAP_B Bit in the SYS_CNTL register, SYS_BASE+$0. Where Mode 3 requires J20 needs to be connected and the two bits MA & MB in the OMR register needs to be set. All the software settings are explained in chapter 3 & 16 of the Freescale DSP56F80x manual.
http://www.freescale.com/files/dsp/doc/user_guide/DSP56F801-7UM.pdf


3) What is the different between internal memory and external memory?
* 60K x 16 Program Flash (internal)
* 2K x 16 Program ram (internal)
* 8K x 16 Data Flash (internal)
* 4K x 16 Data Ram (internal)
* 2K x 16 Boot Flash (internal)
All the above are the memories built-in the DSP56F807 CPU labels U1
Where U8 is
* 128K x 16 Ram (external)
additional to the CPU memories above.

From the Table 3-2 and Table 3-3 of the Freescale DSP56F80x manual. We can list the memories available for each mode, based on all the memories described above.

Mode A,
* 60K x 16 Program Flash (internal)
* 2K x 16 Program ram (internal)
* 8K x 16 Data Flash (internal)
* 4K x 16 Data Ram (internal)
* 2K x 16 Boot Flash (internal)

Mode B,
* 32K x 16 Program Flash (internal)
* 32K x 16 Program ram (external)
* 2K x 16 Program ram (internal)
* 8K x 16 Data Flash (internal)
* 4K x 16 Data Ram (internal)
* 16K x 16 Data Ram (external)
* 2K x 16 Boot Flash (internal)

Mode 3,
* 64K x 16 Program/Data ram combined(external)

As i understand, the Flash Over Jtag software only supports the internal flash memories for read/write purposes. No debug feature is available. Therefore, Mode 3 is now can only support by Codewarrior software and other third party software.


4) Does my memory mode and jumpers need to be coordinated with the data in flash807.cfg?
For mode A & mode B configurations, I think you can leave the flash807.cfg as manufacture default. No need to modify.

revampedcomplex
02-15-07, 01:26 AM
That clarifies things, thanks for the info!