I wonder if anyone is using GCC as production stable toolchain for Freescale's 68HC12 microcontroller family. It seems to me that there aren't up-to-date toolchains other than that from Freescale itself and those from Cosmic Software (http://www.cosmic-software.com/) and IAR (http://www.iar.com/),开发者_运维技巧 of course.
- GNU 68HC11/12 (http://savannah.gnu.org/projects/m68hc11) is based on GCC 3.1 and its latest news is 4-year old
- GCC-4.6 declared (http://gcc.gnu.org/gcc-4.6/changes.html) that Motorola 68HC11 and 68HC12 architectures are obsolete
- GCC-HCS12 (http://gcc-hcs12.com/) sounds promising for what I'm looking for, yet it seems unmaintained. There exists a dozing Google Group gcc-hcs12 (http://groups.google.com/group/gcc-hcs12/), though. Plus, the available zip download contains a file called gnu-68hc1x-3.1.exe dated 2007.
MegaSquirt (http://www.msextra.com/tools/) seems to offer the most maintained toolchain, packaged on 29 Oct 2010. It is built on extended versions of the SCz tools (which I don't know what it means):
- binutils-2.18 with S12X and XGATE enhancements
- gcc-3.3.6 with S12/S12X ldivmod and larith enhancements
- newlib with 9s12x target
GNU 68HC11/12 is based on GCC 3.3.6. The GNU 68HC11/12 release 3.1 is a bundle package which contains the complete tool chain based on Gcc 3.3.6, Gdb 6.4, Binutils 2.15 and Newlib 1.12.0. Several projects have used it as a basis for their own needs. GCC-HCS12 and MegaSquirt are examples of such projects.
Some board vendors have also shipped the GNU 68HC11/12 version with their board.
MegaSquirt did some improvements on my original port for the support of XGate and better support for H9S12X.
The gcc 3.3.6 release is the most stable and production ready release. Despite its apparent oldness, it is more stable than what you could get with gcc 4.x recent mainstream releases. The obsolete announcement is sad but I don' have time to work on repairing what is broken in GCC 4.6.
精彩评论