GNU Toolchain for m68k / ColdFire
The kernel.org toolchains are currently adopted for development. Btw, at least for tested target mcf5307, both i686 and x86_64 kernel.org available toolchains have open issues.Adopted toolchains These toolchains has been tested building u-boot and running the generated binary on the target board.
Toolchain gcc | binutils | host version | target cpu / board | compile warnings | notes |
---|---|---|---|---|---|
gcc-4.9.0-nolibc | 2.26 | x86_64 | -m5307 / amcore | no | created with buildall script from kernel.org |
gcc-5.2.0-nolibc | 2.26 | x86_64 | -m5307 / amcore | no | created with buildall script from kernel.org |
Please report any issue to angelo @ sysam.it See here for more information about toolchain-specific warnings:
https://lkml.org/lkml/2014/12/15/110
http://lists.denx.de/pipermail/u-boot/2014-December/199446.html
The discussion on how to avoid these "argument type" warnings with all tooolchains is still in progress.
ISA Revisions
As the Coldfire cpu evolved, some instruction set architecture revisions (note, not core revisions) has been issued, starting from the first, ISA_A, adding some instructions increasing the revision. Instruction sets are upward compatible.ISA_A: it is the original Coldfire instruction set architecture, very similar to the m68000 instruction set
ISA_B: added improved data movement instructions, byte- and word-sized compares
miscellaneous enhancements
ISA_C: added instructions for improved bit manipulation
Below you can find what ISA Revision correspond to a cpu model.
Core V. | CPU Model | ISA_A | ISA_A+ | ISA_B | ISA_C |
---|---|---|---|---|---|
1 | mcf51qe | X | |||
2 | mcf5202 | X | |||
2 | mcf5204 | X | |||
2 | mcf5202 | X | |||
2 | mcf5204 | X | |||
2 | mcf5206 | X | |||
2 | mcf5208 | X | |||
3 | mcf5307 | X | |||
4 | mcf5407 | X | |||
4 | mcf5470 | X | |||
4 | mcf5471 | X | |||
4 | mcf5472 | X | |||
4 | mcf54450 | X | |||
4 | mcf54451 | X | |||
4 | mcf54452 | X | |||
4 | mcf54453 | X | |||
4 | mcf54454 | X | |||
4 | mcf54455 | X | |||
4 | mcf54450 | X | |||
4 | mcf54451 | X | |||
4 | mcf54452 | X | |||
4 | mcf54453 | X | |||
4 | mcf54454 | X | |||
4 | mcf54455 | X |
Note that some obsolete model is possibly not reported in the table above.
TODOs
- See how to avoid "argument type" compiler warnings for all the toolchains.