DSP56xxx Toolchain v3.5r1


Motorola DSP56xxx Product Page, Motorola DSP56xxx Support Page, TASKING Developers' Forum, TASKING Home Page, TASKING Embedded Communications Home Page


This release note describes the changes and new features of all TASKING DSP56xxx products with respect to v3.0r1 and previous versions.

The following parts are described:

The solved and known problems are not part of this release note, they are described in separate files: "solved_<name>_3_5r1.html".

The main reasons for this release are:



DELFEE language: Asterisks (*) allowed in names (since version 3.0r2)

Version 3.0r2 of the locater allows asterisks (*) in names. The consequence is that the asterisks should be separated by spaces to specify a valid multiply.


#define INT_P_RAM (80k - SWITCH_SIZE*SWITCH_SELECT)   // Wrong since v3.0r2
#define INT_P_RAM (80k - SWITCH_SIZE * SWITCH_SELECT) // Correct

Please check your user defined DELFEE files (*.dsc, *.cpu and *.mem) for non-space separated asterisks

Default interrupt priority of serial port (since version 3.0r1)

The default of the IPR for the serial port was set to 1 in previous releases. In the current release the default is set to 2 to make it possible to have a higher and a lower priority. It is possible to overwrite this default by setting the define SER_IRQ_LEVEL when building serio.c.

DSP563xx/6xx VBA support (since version 2.3r0)

The startup code (lib\src\56*.asm) will now set up the VBA register if it is set on the command line (VBAVALUE=<newvalue>, with <newvalue> replaced with the value to write to VBA). You must replace the library startup code or add the startup code to your project if you want to use this. All generated interrupt vectors will be automatically shifted to the new location. Please refer to the C manual for more details on the startup code.

Cache enabled by default on DSP56307 (since version 2.3r0)

The cache is now enabled for the DSP56307 (and DSP56311), and the default memory layout will have the VBA set to just after the cache (P:$400). This will improve the performance when executing from external memory. As with all other startup code, defining NOCACHE on the command line will disable the use of the cache (useful if your application fits in internal memory in that case). You must however also add -emCACHE_SELECT=0 on the locator command line to allow locating the vectors in the former cache area. In EDE, you can add this option to Project | Project Options... | Linker/Locator | Locator Miscellaneous | Additional Options entry field.

Stack layout and stack memory changed (since version 2.2r1)

The layout of the user stack in C compiled code has been changed to improve code density and speed. By default, the stack is now placed in L-memory and the stack pointer points to the top-of-stack item. This change requires some work to upgrade existing projects to this revision. As a minimum, a complete Rebuild of the project is required (if it contains only C source files). Command line switches are provided for backward compatibility.

The required changes are:

See the manual and lib\src\readme.txt file for details on how to recompile the C library. See the section about the stack layout for details of the new system. Note that the L-memory stack is compatible with sources compiled for either X or Y default memory (-Mx or -My), so it is not necessary to switch that off for compatibility.

For boards that have a very small amount of L memory (most notably the DSP56002 EVM with unified memory map) care must be taken to select the correct memory model and stack size. On the DSP5600x, select either the reentrant or the static model, but not the mixed model in this situation. If the available amount of dynamic stack is not enough, the program must be translated without the L-stack option (and the C library retranslated accordingly).

Constant data no longer initialized through copytable (since version 2.2r1)

The handling of constant data sections (used to store 'const' declared variables and literal strings) has been changed to avoid superfluous memory allocation. New sections with base name 'const' are generated for them, and these are no longer initialized through the copy table. These sections replace previously generated sections with base name 'string'. This change has implications for bootstrap loaders, that must be capable of handling all memory sections instead of only P memory. An example of such a bootstrap loader is given in the examples\bootrom directory.


The EDE menu structure has been made more intuitive

The default menu layout has been changed, resulting in a more comprehensible menu structure. The former 'EDE' menu has been removed, while a new 'Build' menu was added. All dialogs that used to be part of the 'EDE' menu have been subdivided over the 'Project', 'Build' and 'Help' menu.

If you prefer the menu structure you are used to, then you have the option to switch back to the old style by selecting 'TASKING Classic Style' in the Customize | Menu Layout ... dialog.

Tree-view based dialog for setting project options

The project options are grouped in a tree-view based dialog Project | Project Options... making it more orderly. It is possible to set all the project options to their default values at once.

CPU selection dialog

There is a new dialog for the selection of the 'CPU' named Project | Project Options... | CPU Selection.  The selection of the CPU family/type has consequence for:


Reported problems in the C++ compiler have been solved, no new functionality has been added.


Memory paging support

The compiler and the other parts of the toolchain now support memory paging to a maximum of 8 pages. This is done with the _bank keyword. The exact number of memory pages  can be set by the new C compiler option -p.


Reported problems have been solved, no new functionality has been added.


Reported problems have been solved, no new functionality has been added.


Reported problems have been solved, no new functionality has been added.


General improvements

Further improvements are introduced; for instance you will be warned if a source is newer than the .abs file.
Static variables within a function can be inspected and a hexadecimal display option in the Data Window has been added.

Furthermore, the performance of the terminal windows has been improved; scrolling and updating of windows has become much faster. The GUI of CrossView has been improved, resulting in a more intuitive and user-friendly interface.

Download and Compare functionality

You can use the new File | Compare Application... dialog to check if an .abs file matches the downloaded application. This can be useful when you want to check if the program code has been changed, for example due to uninitialized pointers. The same check can be accomplished through the command window with the dcmp command.

Save Profiling Report

It is now possible to save your profiling results. Either you can use the commands cproinfo and proinfo from the command window or you can click the save button in the Tools | Profiling Report | Save... dialog from the GUI to save the profile report in a file. Note that profiling is only available when you use the simulator.

Support for SB-USB

Now also universal DSP emulator with USB interface of Domain Technologies is supported.

Copyright 2001-2002 Altium BV