February 19th
February 19th, 2010
KPIT Cummins Infosystems Limited is releasing the GNUH8 v10.01 toolchain, which
is a cross compiler tool for Renesas H8 series of microcontrollers.
SALIENT FEATURES:
1. The GNUH8
v10.01 toolchain is based on gcc-4.4.2 [released], binutils-2.20 [released],
newlib-1.17.0 [released] and gdb-6.8.50 [dated 27th March 2010].
2. The latest
patches are applied to gcc, binutils and newlib sources.
Please visit the following link for the patches applied to the GNUH8 toolchain:
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=001005&id=42&lang=en
3. The GNUH8
v10.01 ELF toolchain supports integration with the KPIT Eclipse v1.1.0 and later
versions.
Please visit the following link for information on latest releases of KPIT
Eclipse:
http://www.kpitgnutools.com/releaseNotes.php
ABOUT GNUH8 v10.01:
Release
Version: GNUH8 v10.01
Release Date:
February 19th, 2010
Platforms
Supported: Red Hat GNU/Linux v8.0 or later (or compatible distribution)
Windows NT/2000/XP/Vista/Windows 7
Language: C,
C99, C++
Targets:
H8/300
H8/300L
H8/300H
H8/300H Tiny Series
H8/S 2XXX
H8/S 26XX
H8/SX
Object File
Format: ELF
CHANGES IN THIS RELEASE:
This section
describes the enhancements made and the issues fixed in the v10.01 release.
GCC:
1. When
optimisation ("-O1 and above") is enabled, the GNUH8 toolchain generates an
internal compiler error (ICE) for the test cases that perform logical operations
on the array elements. This bug has now been fixed.
2. When the
instruction "mul.l" is executed immediately after the "bra/s" instruction (i.e.
in the delay slot), the PC (program counter) branches to an illegal code. This
bug has now been fixed. The toolchain code generation is modified to ensure that
the delay slot instructions do not exceed one-word.
3. The GNUH8
assembler (h8300-elf-as) does not give an error if the attribute of a section is
not specified. This bug has now been fixed.
4. The
following test case when compiled using the compiler option "-Wformat",
generates a warning, "format '%f' expects type double, but argument 3 has type
'float'"
extern int foo (void *my_object, const char *my_format, ...)
__attribute__
((format (printf, 2, 3)));
int main(void)
{
float Num =
5.0;
foo (0, "\n%f",
Num);
return 0;
}
This bug has now been fixed.
5. The GNUH8
toolchain does not generate correct back-trace information that is needed to
display "watch variables" in the "Debug view" of KPIT Eclipse IDE. This bug has
now been fixed.
HEW (For Windows OS only):
1. Use of the
Flash Development Tool (FDT) plug-ins under HEW is deprecated. Hence, users are
advised to download the latest version of the FDT application and use it
independently for Flash downloads.
2. In the HEW
linker section wizard, the "KEEP" attribute was previously set to a group of
sections rather than the individual sections within that group. This bug has now
been fixed. Each individual section within the group is now generated with the
"KEEP" attribute.
3. In HEW
project generation up to v0903, the generated projects do not include the
intrinsic header file. Instead, the user must navigate to the migration guide
and download from there. In v10.01, the project generation in HEW is modified to
include this header in all the projects so that users can use it with minimal
work.
KNOWN LIMITATIONS IN H8-ELF:
This section describes the known limitations in this release. We intend to fix
these issues in our future releases.
We occasionally release maintenance packs for critical bug fixes.
Windows and GNU/Linux:
1. The
following code, when compiled for H8300H, H8300HN, H8S, H8SN, H8SX, and H8SXN
targets with optimisation option '-O1' or above, generates incorrect assembly
code.
unsigned int ReadWordx86Style(unsigned
long lAddr)
{
unsigned char
baBuff[2];
baBuff[0x00]=*((unsigned char *)((unsigned int)(lAddr+1)));
baBuff[0x01]=*((unsigned char *)((unsigned int)(lAddr+0)));
return((*(unsigned int *)baBuff));
}
int
start(void)
{
unsigned char
baBuff[256];
unsigned int
wResult;
wResult =
ReadWordx86Style((unsigned long)((unsigned int)baBuff));
return(wResult);
}
2. The '.tinybss'
implementation does not work as expected.
3. The 'scanf'
and 'sscanf' functions of newlib do not work for the H8300HN, H8SN and H8SXN
targets when '-mint32' is passed to the compiler.
4. Library
Generator: Please visit the following link for the known issues and limitations
related to this utility:
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=001002&id=413&lang=en
HEW (For Windows OS only):
1. In HEW,
when optimised libraries are used in C++ projects, the linker generates
"undefined references" error for some ANSI C library functions as they are not
implemented.
Workaround:
1. Users can
add their own implementation of these functions or can provide dummy routines
depending upon the usage.
2. The
'Generate Makefile' feature is currently not supported in HEW.
3. For other
limitations pertaining to the single interface for the compiler, assembler,
linker and library generator, Please visit the following link:
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=003001&id=445&lang=en
NOTE:
Windows and GNU/Linux:
1. The
optimised libraries provided along with the newlib libraries in the toolchain do
not require a separate download.
2. The
optimised libraries ('liboptm.a' and 'liboptc.a') are not provided under GNU GPL.
The source code of these optimised libraries is neither released nor available
on request.
3. The "libgen"
utility is not provided under GNU GPL. The source code of the "libgen" utility
is neither released nor available on request.
4. v10.01 ELF
release onwards, the toolchain versioning system is changed. A decimal point is
used to separate the year of toolchain release (e.g. 10 i.e., the last 2 digits
of the year 2010) and the release number ( e.g., 01 i.e., 1st release of year
2010).
For free
technical support, please register at
http://www.kpitgnutools.com
For your
feedback and suggestions, please visit
http://www.kpitgnutools.com/feedback.php
|