Hi.
I believe there are some errors in this port.
The "dummy save" and "dummy restore" should not be used. Instead, use some "naked" attribute for system ISRs. After the "dummy restore" instructions, registers D0 and D1 might be changed, and just after that task context is saved. That can cause errors in any very simple task.I.e., the context is modified by the system interruption!!!
Also, there is a wrong line that has been (accidentally I suppose) inserted in a system file (queue.c).
Besides in hardware.c functions, inline assembly is used, modifying directly cpu registers without saving their values before. That can lead to errors.
I had also some problem with memcpy from <string.h> in CodeWarrior 6.2 forColdfirev1. That need to be checked out more carefully. But anyway, replacing memcpy in queue.c by a "home made" code in C can fix that problem.
Soon I should be posting a version that works fine for MCF51JM128
Eduardo A.