DSP56xxx Toolchain v3.6r4
This release note covers the changes between v3.5r1 and v3.6r4 of
the DSP56xxx Toolchain.
Windows 95 and Windows 98 are no longer supported (since version
Version 3.6r1 and later do not support Windows 95
and Windows 98 anymore.
DELFEE language: Asterisks (*) allowed in names (since version
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.
In Windows Vista, the User Account
Control (UAC) introduces fundamental changes to enhance the experience
non-administrative user. Registry and file virtualization in Windows
redirects per-machine file and registry writes to per-user locations if
doesn't have administrative privileges. The DSP56xxx Toolchain will be
installed in the C:\Program Files directory by
default. For all executables, this is the preferred location. But for
configuration files, the example working directory and the library
environment, this can cause weird behavior, because generated/updated
put physical elsewhere. These files should be moved (or copied) to a
within the users documents directory. For the example directory this
will be handled by EDE. The first time
EDE is started, a dialog box appears and a destination location for all
can be entered. Examples will be copied only once. For the the library
environment, you have to copy the contents of the lib\src
directory to another location yourself.
Default working directory changed
Since version 3.6r1, the first time EDE is started, all examples
will be copied to the users documents directory. This location will
become the default EDE working directory. The examples will be copied
Based on Motorola's application note "Implementing viterbi
decoders using the VSL instruction on the DSP families DSP56300 and
DSP56600" by Dana Taipale we added an IS-136 convolutional error
correcting code example to this revision release almost entire written
in C. The example has been added to the examples project space and is
stored in the
Support for USB
Now also universal DSP emulators with USB interface of Domain Technologies are supported.
(USB-EMU since version 3.5r3)
- Available space within Y_far exceeded by 16724 bytes for (null)
The list of open
issues for v3.6r4 can be found on the internet.
- A locate error might show up despite of available memory
The list of open
issues for v3.6r3 can be found on the internet.
- Update Domain technologies drivers
- DO loop generation can not always be disabled.
- fread only reads LSB when reading an integer
- post assembly instruction template register initialisation
- Stack location still used after stack pointer decrement
- _inline_ v3.6r1 compiler generates wrong code
- Connection to SB-USB2 of Domain Technologies fails
- c563 S307: assertion failed
- false warning W140 on instruction sequence BCLR #n SR , RTS
- compiler hangs with optimization -O1,-O2,-03
- c563 hangs with option -O3 or -Oacefghijlnoprstuvwxyz
The list of open
issues for v3.6r2 can be found on the internet.
- feature 'add all user C macros' checkbox to assembler options menu
- code optimisation request for long cast mixed sign integer multiply
- USB execution environment comparatively slow single stepping
- assertion error S003 comes and goes
- fatal F039 'unknown error number: 573' error message
- feature support for the 56L307 derivative and 56L307EVM developer
- value of variable <label> is undefined - followed by runtime
- Wrong peephole optimization
- USB-EMU connection failure
- Debug instruction can only be stepped while using parallel execution
- no memory stores to internal memory xram1 when using 56371 derivative
- xfw56x -RegServer not properly registered
- _CP56 does not exist
- unknown opcode error messages for immediate movep operand to Y space
- Can't use CodeWright (EDE) with Microsoft Vista
The list of open
issues for v3.6r1 can be found on the internet.
- Compiler generates unnecessary extension cleanup
- optimised sign extension for _nosat long _fract data type
- _at sections should have 'scratch' attribute instead of 'bss'
- non-default space multi-dimensional array parameters default to
- Incorrect assembly for long _fract data type sign extension
- superfluous locator warning 142 for label in P space
- incomplete stackframe restore while inlining assembly
- Error message for __asm containing constraint without storage
- Loop update expression is not recognized as conditional
- Illegal code generation for circular pointer to circular pointer
The list of open
issues for v3.5r3 can be found on the internet.
- Files to support DSPAUDIOEVM with DSP56367 daughterboard
- In some cases the compiler uses stack as an intermediate when copying
- store the assembler listfile in the same location as the output file
- combining consecutive asr instructions into one
- In the simulator the wrong irq is used for the TRAP/SWI
- Assembler crashes with speed optimization enabled on specific code
- errmsg "Hardware stack delta exceeds stack pointer offset" for
- do-loop generation that includes all do-loop restrictions
- assembler should detect BSR at LA-1 do-loop restriction and insert
- inconsistent saturation after overflow caused by shift
- Cannot parse error messages in a C file stored in a directory with
- unable to put watches on aggregates
- ANSI-C option -Ac should be ticked with "do not check..." instead of
- dump command failure
- transfer saturation neglected when adding _int2fract variables
- No saturation for long _fract
- assertion failure when passing _circ array to function with non _circ
- Compiler generates bsc directive inside bss clear section
- Comparing linear pointer with circ address fails
- Support for DSP56367 as target using ADS
- Optimizer sometimes removes IF statement before hardware loop
- Assigned local variable is wrongfully handled as alias
- DO loop count not decremented in .asm file when one iteration moved
out of loop
- Control program option -T overrules alternative dsc file as option to
- Crossview 'dump' command failure
- Assertion failure in specific combination of code
- Incorrect define of EMUXR, PORT E and ESAI_1 registers in 56366/7
- Locator runs out of (static) memory
- Assertion failed during CSE (common subexpression elimination)
- Assigned local variable is wrongfully recognized as alias
- Disabling "Initial download of program" doesn't disable download in
- no sign extension for _nosat _fract automatic passed to _fract2int
- 'undefined opcode' error while using immediate parallel move for
- incorrect disassembly for immediate parallel move for or-instruction
- ios_read failure
- endless error messages 570 when using -Cc
- incorrect type information for _Y space pointer parameter for zero
- section renaming causes section/org reversal using motorola
- string declarations result in double quoted assembler string
- function overlay area sometimes off by one word
- warning for assigning unsigned long to long _fract
- non-disassembly for vsl instruction
- function return value not flushed to global variable
- wrong bclr/bset operand for pointer increment (decrement) after
- Comment after pre-processor directive results into error for compiler
- Download failure after cache enable/disable
- unknown opcode error messages while addressing peripherals in Y space
The list of open
issues for v3.5r2 can be found on the internet.
When using the product without a valid license, the tools will run
in trial mode.
This means the toolset can be used for 15 days with full functionality.
When running in trial mode
tools will emit an informational trial mode message. When using a
license that does not cover the full toolset, the tools which
are not covered by the license will run in trial mode.
If after installing a valid license file the tools which are covered
by the license still report
they are running in trial mode, then there is a license error. You can
force termination of trial mode
to get the actual FLEXlm license error message by setting the
environment variable FORCE_NO_TRIAL to "yes".
All TASKING products include the industry standard FLEXlm license
management software. In order to be able
to run this toolset, you will need a license key, although you can use
the full functionality during the 15
day trial period as described above. You can only obtain a license key
if you have purchased this product.
To obtain a license key, you can start the License Administrator
from the program group of your installed
TASKING toolset. In case you still need to install the toolset, you can
start the License Administrator by
setting a check mark at the end of the setup/installation process. The
wizard of the License Administrator
will guide you through the steps to obtain your license key.
Once you have received your license key from Altium, you can install it
on your system by running the License
Administrator again. Alternatively you can simply save the license key
as the file 'license.dat' in the
C:\FLEXLM folder on your PCs hard disk.
More information is available on http://www.tasking.com/support/flexlm.
page you also
find assistance to setup a floating network license, or for
installation on Linux or Sun systems.