Motorola HS12 Tools

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I am currently looking for a Motorola HS12 series (MC9S12DG256)
developing tools. Some vendors like Cosmic or Metrowerks offer
interesting environments (IDE, code coverage, code test, code
profiling, osek support etc.). Maybe someone has experience with such
tools and could suggest me the best choice with regard to price and

Thanks in advance.


Re: Motorola HS12 Tools

Quoted text here. Click to load it

I have IAR,Metrowerks,Cosmic + GNU.

And TBH, I prefer Makefiles, but that's possible with all of them.
Cosmic gives few options to optimize code.
MW on the otherhand uses PASCAL calling convention, which is weared
esp. if you mix assembly + C.
IAR: I have problems using C-Spy with my P&E box, but might be related
to my HW dongle.
Also,you have to use commandline tools to make libraries.

GCC: It's free and the mailing list is quiete active (though mostly

Anyway, I need to support all 4, but prefer GCC

Re: Motorola HS12 Tools
Quoted text here. Click to load it

I think your wrong for the hc12.

void a(int x, int y, int z)

void main(void)

C calling convention:
    30 on stack
    20 on stack
    10 in D
MW for HC12
    10 on stack
    20 on stack
    30 in D

=> Pascal calling convention (IIRC)


Re: Motorola HS12 Tools
On Wed, 16 Jul 2003 09:54:54 GMT, (42Bastian

Quoted text here. Click to load it

There really is no such thing as "the C calling convention."  There is
a general set of properties for a calling convention that correctly
handles C-style variadic functions, but there is no requirement that
functions with fixed parameters follow the same conventions as
variadic ones, or even that variadic functions use these exact

FWIW, these properties are:
   1) parameters are pushed from right to left (i.e., as you show
      above, except "10 on stack)
   2) caller performs stack cleanup

If this convention is followed, the first function parameter is always
on "top" of the stack (usually following the return address), and
successive paramters can be found by digging deeper into the stack.

Quoted text here. Click to load it

Since Pascal doesn't (didn't?) support variadic functions (but *does*
support nested functions), the calling conventions for Pascal tend to
be different than those of C.  For one thing, in Pascal the callee
almost always cleans up the stack (it's usually more efficient).


Change is inevitable, progress is not.

Re: Motorola HS12 Tools
we prefere Cosmic becouse it supports bool and bit-symbols what are
ANSI99 standard. Even in assembler you can write e.g. bset device or in C
simply write device=1. No macro construction and no need to remember what
bit is connected to what port. Becouse most access in my device are bit
access, this saves many time in writing and debug even at assembly level.

Another thing is the support of the Cosmic Linker for Code what needs
diffrent placement and run address. This feature is rarely needed to shift
code for execution to ram at runtime. Have no idea on how to do this with
Metrowerks but I was lucky to have this comfortable features when I
introduced in-application flash for CAN based updates to my board.

Re: Motorola HS12 Tools
Quoted text here. Click to load it

AFAIK, it is a vital feature nearly all linkers provide.
But with some it is easier with some others you'll have to learn how
to do it again and again and ....

Do not email to, it's a spam-only account :-)
We've slightly trimmed the long signature. Click to see the full one.

Site Timeline