M16C Toolchain v2.1r1
RELEASE NOTE
SUMMARY
This release note describes the changes and new features of all TASKING
M16C products with respect to v2.0r3. In the 'doc' directory of the product
you can find the document 'conversion_guide.txt' please read this file
before you convert a project from a previous version to this new
version 2.1.
The following parts are described:
C++ support
C++ offers object-oriented design and coding possibilities though an ISO
C++ compliant compiler. Scalable C++ offers compatiblity with the evolving
Embedded C++ (EC++) standard which makes selective disabling of C++ features
possible.
Mitsubishi ROM monitor
A connection with the Mitsubishi ROM monitor is now standard available
in all products. It allows you to use the Crossview Pro debugger directly
with the Mitsubishi ROM monitor available on several target boards. Examples
have been added to be used with the Mitsubishi MSV30222-SKP starter kit
and the Glyn EVBM16C/62 and EVBM16C/6N boards.
New TASKING M16C flash tool
A dedicated TASKING M16C flash tool has been added to the product. This
flash tool interfaces to the standard Mitsubishi flash tool available on-chip.
It allows you to directly flash an absolute IEEE-695, Intel Hex or Motorola S-Record file
into the chip.
The v2.1 manuals do not contain a description of the flasher usage since it
was added after the v2.1 manuals release. Instead the 'doc' directory of
the installed product contains a file 'flash.txt' that contains a
description on the Flash program usage.
Improved linker/locator interface
The interface to the linker/locator delfee files has been improved. Without
needing to update any delfee description files it is now possible to reserve
areas throughout the entire M16C space. Also it is possible to locate the
startup code and the variable vector table to a fixed address.
EDE
The M16C Embedded Development Environment (EDE) has been updated to use
Codewright v6.5
New examples
Dedicated examples have been added for the Mitsubishi MSV30222-SKP starter
kit and for the Glyn EVBM16C/62 and EVBM16C/6N boards. Also a new basic
C++ example has been added (cpp.pjt).
Crossview Pro Programmable Data Analysis window
The Crossview Pro debugger now supports the Programmable Data Analysis
windows. This feature allows you to enables quick detection of gross errors
in your signal processing routines by reducing large sets of data into
meaningful visual diagrams. CrossView Pro can analyze the data according
to pre-defined or user-defined specifications, and display the data the
way you need it. Several pre-defined views are available like FFT, x-y,
x-t, multi-grid and bars. This eliminates the need for reviewing or post-pro-cessing
large files of raw data. You can also view the same set of data in several
ways at the same time (e.g., in the time and the frequency domains).
Improved startup code generation
The M16C embedded development environment now supports the option to automatically
add the generated startup code to the project. This generated startup code
file gets the name '<project>_cstart.asm'. If you convert a project
from a previous version it may already contain a startup code file called
'cstart.asm'. In that case you can do 2 things, first you can remove this
'cstart.asm' file from your project, secondly you can switch off the automatic
generation and addition of the new startup code file under under EDE |
Processor Options | Startup.
New variable vector table implementation
A new mechanism is used for the variable vector table that ensures that
always the right (minimal) size is used for this table. To achieve this
the MAX attribute has been added to the variable vector table section definition:
DEFSECT ".vecttab", FDATA, ROMDATA, MAX
Using the MAX attribute automatically the right size will be used for
the variable vector table. It will be as large as the highest vector used
in your application. Thus if you application uses interrupt vectors 1,
2 and 7 it will be large enough to hold vector 7 (=7*4 bytes).
If you get the following error message:
lkm16 E202 (0) <filename>.obj: Section .vecttab
does not have the same attributes as already linked files
Then probably some files have not been recompiled with the new compiler
v2.1. Solution is to do a 'rebuild' of the entire project forcing every
module to be recompiled using the new compiler version. If you are using
the '.vecttab' section in assembly files, then you can use the following
template:
DEFSECT ".vecttab", FDATA, ROMDATA, MAX
SECT ".vecttab", RESET
; the RESET attribute forces the
; consecutive offset to be relative
; to the start of the section.
OFFSET <vector-number>*4 ; each
vector uses 4 bytes
DL <vector-address>
SECT ".vecttab", RESET
; this RESET can be left out, in
; that case the following OFFSET;
; should be relative to the previous
; OFFSET + DL
OFFSET <vector-number-2>*4 ; each vector
uses 4 bytes
DL <vector-address-2>
As an example you can use the vector definition for applications running
on the M30222 board under the Mitsubishi ROM monitor. Since the ROM monitor
requires the serial interrupt vectors to point to a fixed location in the
monitor, the following assembly module has to be linked with every project
running under the ROM monitor:
DEFSECT ".vecttab", FDATA, ROMDATA, MAX
SECT ".vecttab", RESET
OFFSET 17 * 4
DL 0F8A00h ; used by the ROM
monitor
DL 0F8A00h ; used by the ROM
monitor
END
Solved problems
Several problems have been solved in this release. They are described in
separate files: "solved_<name>.html".
Copyright (c) 2001 TASKING