Motorola HS12 Tools

Hi, 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 performance.

Thanks in advance.

Tomasz

Reply to
Tomasz Janik
Loading thread data ...

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 HC11)

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

--
42Bastian
Reply to
42Bastian Schick

I think your wrong for the hc12.

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

void main(void) { a(10,20,30) }

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)

--
42Bastian
Reply to
42Bastian Schick
[...]

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 conventions.

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.

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).

Regards,

-=Dave

--
Change is inevitable, progress is not.
Reply to
Dave Hansen

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.

Reply to
Janvi

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 ....

--
42Bastian
Do not email to bastian42@yahoo.com, it's a spam-only account :-)
Use @epost.de instead !
Reply to
42Bastian Schick

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.