DSP56xxx Toolchain v3.6r2
Release Note
Scope
This release note covers the changes between v3.5r1 and v3.6r2 of the DSP56xxx Toolchain.
Contents
Windows 95 and Windows 98 are no longer supported (since version 3.6r1)
Version 3.6r1 and later do not support Windows 95 and Windows 98 anymore.
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.
Example:
#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.
Windows Vista
In Windows Vista, the User Account
Control (UAC) introduces fundamental changes to enhance the experience for the
non-administrative user. Registry and file virtualization in Windows Vista
redirects per-machine file and registry writes to per-user locations if the user
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 rebuild
environment, this can cause weird behavior, because generated/updated files are
put physical elsewhere. These files should be moved (or copied) to a location
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 examples
can be entered. Examples will be copied only once. For the the library rebuild
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 only once.
Viterbi Example
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
examples\viterbi folder.
Support for USB
Now also universal DSP emulators with USB interface of Domain Technologies are supported. (USB-EMU since version 3.5r3)
Improvements
- 039-37289 - Update Domain technologies drivers
Fixed Problems
- 039-30347 - DO loop generation can not always be disabled.
- 039-30971 - fread only reads LSB when reading an integer
- 039-35201 - post assembly instruction template register initialisation
- 039-36755 - Stack location still used after stack pointer decrement
- 039-36803 - _inline_ v3.6r1 compiler generates wrong code
- 039-37017 - Connection to SB-USB2 of Domain Technologies fails
- 039-37087 - c563 S307: assertion failed
- 039-37212 - false warning W140 on instruction sequence BCLR #n SR , RTS
- 039-37285 - compiler hangs with optimization -O1,-O2,-03
- 039-37287 - c563 hangs with option -O3 or -Oacefghijlnoprstuvwxyz
The list of open issues for v3.6r2 can be found on the internet.
Improvements
- 039-33531 - feature 'add all user C macros' checkbox to assembler options menu
- 039-33591 - code optimisation request for long cast mixed sign integer multiply
- 039-34652 - USB execution environment comparatively slow single stepping
Fixed Problems
- 039-33511 - assertion error S003 comes and goes
- 039-33544 - fatal F039 'unknown error number: 573' error message
a
- 039-33582 - feature support for the 56L307 derivative and 56L307EVM developer board
- 039-33793 - value of variable <label> is undefined - followed by runtime error
- 039-34339 - Wrong peephole optimization
- 039-34611 - USB-EMU connection failure
- 039-34653 - Debug instruction can only be stepped while using parallel execution environment
- 039-34721 - no memory stores to internal memory xram1 when using 56371 derivative
- 039-34762 - xfw56x -RegServer not properly registered
- 039-34836 - _CP56 does not exist
- 039-35016 - unknown opcode error messages for immediate movep operand to Y space
- 039-36503 - Can't use CodeWright (EDE) with Microsoft Vista
The list of open issues for v3.6r1 can be found on the internet.
Improvements
- 039-33181 - Compiler generates unnecessary extension cleanup
- 039-33184 - optimised sign extension for _nosat long _fract data type
Fixed Problems
- 039-31910 - _at sections should have 'scratch' attribute instead of 'bss'
- 039-33179 - non-default space multi-dimensional array parameters default to default space
- 039-33203 - Incorrect assembly for long _fract data type sign extension
- 039-33222 - superfluous locator warning 142 for label in P space
- 039-33264 - incomplete stackframe restore while inlining assembly
- 039-33270 - Error message for __asm containing constraint without storage
- 039-33315 - Loop update expression is not recognized as conditional
- 039-33321 - Illegal code generation for circular pointer to circular pointer dereference
The list of open issues for v3.5r3 can be found on the internet.
New Features
- 039-32204 - Files to support DSPAUDIOEVM with DSP56367 daughterboard
Improvements
- 039-32411 - In some cases the compiler uses stack as an intermediate when copying structs
- 039-33028 - store the assembler listfile in the same location as the output file
- 039-33077 - combining consecutive asr instructions into one
Fixed Problems
- 039-20883 - In the simulator the wrong irq is used for the TRAP/SWI
- 039-22675 - Assembler crashes with speed optimization enabled on specific code
- 039-23050 - errmsg "Hardware stack delta exceeds stack pointer offset" for DSP56311EVM
- 039-30648 - do-loop generation that includes all do-loop restrictions
- 039-30719 - assembler should detect BSR at LA-1 do-loop restriction and insert NOPs
- 039-30866 - inconsistent saturation after overflow caused by shift
- 039-30906 - Cannot parse error messages in a C file stored in a directory with spaces
- 039-30961 - unable to put watches on aggregates
- 039-31207 - ANSI-C option -Ac should be ticked with "do not check..." instead of "check..."
- 039-31420 - dump command failure
- 039-31670 - transfer saturation neglected when adding _int2fract variables
- 039-31984 - No saturation for long _fract
- 039-32067 - assertion failure when passing _circ array to function with non _circ argument.
- 039-32068 - Compiler generates bsc directive inside bss clear section
- 039-32071 - Comparing linear pointer with circ address fails
- 039-32178 - Support for DSP56367 as target using ADS
- 039-32241 - Optimizer sometimes removes IF statement before hardware loop
- 039-32280 - Assigned local variable is wrongfully handled as alias
- 039-32288 - DO loop count not decremented in .asm file when one iteration moved out of loop
- 039-32290 - Control program option -T overrules alternative dsc file as option to linker
- 039-32317 - Crossview 'dump' command failure
- 039-32322 - Assertion failure in specific combination of code
- 039-32365 - Incorrect define of EMUXR, PORT E and ESAI_1 registers in 56366/7 register files
- 039-32409 - Locator runs out of (static) memory
- 039-32436 - Assertion failed during CSE (common subexpression elimination) optimizing
- 039-32443 - Assigned local variable is wrongfully recognized as alias
- 039-32453 - Disabling "Initial download of program" doesn't disable download in Crossview
- 039-32550 - no sign extension for _nosat _fract automatic passed to _fract2int
- 039-32554 - 'undefined opcode' error while using immediate parallel move for or-instruction
- 039-32556 - incorrect disassembly for immediate parallel move for or-instruction
- 039-32584 - ios_read failure
- 039-32615 - endless error messages 570 when using -Cc
- 039-32699 - incorrect type information for _Y space pointer parameter for zero optimisation
- 039-32709 - section renaming causes section/org reversal using motorola compatibility mode
- 039-32798 - string declarations result in double quoted assembler string declarations
- 039-32872 - function overlay area sometimes off by one word
- 039-32880 - warning for assigning unsigned long to long _fract
- 039-32935 - non-disassembly for vsl instruction
- 039-32977 - function return value not flushed to global variable
- 039-32996 - wrong bclr/bset operand for pointer increment (decrement) after bitmask
- 039-33029 - Comment after pre-processor directive results into error for compiler option -Ec
- 039-33042 - Download failure after cache enable/disable
- 039-33060 - 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. On this page you also
find assistance to setup a floating network license, or for installation on Linux or Sun systems.