kirk@hobbes.catt.ncsu.edu (Kirk Krauss) (01/18/91)
Anybody know where I can find a good C compiler (preferably ANSI) for the Motorola 68HC11 evaluation board (EVB) or compatible? I'm looking for a cross-compiler which runs on a PC or Mac and generates S-records for serial downloading to the EVB. An emulator would also be handy. If you're in the know about vendors for such stuff, please send mail to: kirk@catt.ncsu.edu
lusky@ccwf.cc.utexas.edu (Jon Lusky) (01/18/91)
In article <1991Jan18.024240.14924@ncsuvx.ncsu.edu> kirk@hobbes.catt.ncsu.edu (Kirk Krauss) writes: > > Anybody know where I can find a good C compiler (preferably ANSI) > for the Motorola 68HC11 evaluation board (EVB) or compatible? > A C compiler for the PC which generates code to be loaded to the EVBU is available on the Motorola Tech Support BBS here in Austin, Tx. I don't have the number anymore (it was in the docs that came with my EVBU)... last time I called it was back in May so I can't be sure that its still up, but I would assume it is.I got the C compiler from them but never used it and eventually erased it since I was able to get motorola to code the software for me ( the board was upgraded to 40 channels of A/D and was being used along with a TNC and ham radio as a Telemetry system for the UT Austin solar powered race car ). I would reccomend calllling motorola here in austin and trying to get ahold of one of their 68HC11 tech support people. ----------------------------------------------------------------- *** INSERT DORKY GENERIC DISCLAIMER HERE *** ----------------------------------------------------------------- Jonathan R. Lusky University of Texas at Austin lusky@ccwf.cc.utexas.edu Society of Automotive Engineers
mark@spv.UUCP (Mark Bartelt) (01/24/91)
In article <1991Jan18.024240.14924@ncsuvx.ncsu.edu> kirk@hobbes.catt.ncsu.edu (Kirk Krauss) writes: > Anybody know where I can find a good C compiler (preferably ANSI) > for the Motorola 68HC11 evaluation board (EVB) or compatible? > I'm looking for a cross-compiler which runs on a PC or Mac and > generates S-records for serial downloading to the EVB. I have a recommendation for one to avoid: Avocet's C11. I've had the misfortune of using it for the past couple months, and it's without a doubt the buggiest C compiler I've ever used in my life. Thus far I've found nearly a dozen bugs. About half were instances of incorrect code being generated. Several others were cases of the compiler rejecting as syntactically incorrect a construct that was perfectly valid. And finally, there were a couple library routine bugs (though it's possible that the compiler may have been botching the function call by passing wrong arguments to the library routines; I haven't checked yet), and one bug with the linker. Oh, yeah, at least one documentation error in the man pages as well. A dozen bugs might not seem like much if one came across them over the space of, say, a couple years. But I've been using this compiler only for a rather small project (less than 2000 lines of C code), and not doing anything particularly obscure. And the bugs are often in areas so fundamental that it's hard to see how this compiler could have been used for anything much more complex than a simulation of a $3.98 digital watch. For example x &= y; works correctly if x and y are of type int, but generates bad code if they're of type char. long x, y; x = y + 16L; results in an incorrect value for the evaluated expression. int x; double y; y = (double)x; assigns an incorrect value to y. There are workarounds for all of these: x = x & y; and long x, y, L16=16L; x = y + L16; and y = (double)(long)x; But still, the time spent (wasted) in tracking down the cause of one's non-working program to yet another wretched compiler bug, and finding a workaround, has been far more than I consider acceptable. I don't have a copy of my complete bug list with me at the moment, but would be glad to send it to anyone who's really interested. There are a couple of real howlers in their version of the C reference manual. For example, when discussing lvalues, they say: A point to note is that an expression of the form E1->memb is an lvalue only if E1 is an lvalue. When I mentioned this to a friend, his instant response was "But ... that's *horseshit*!" Yes, indeed. The above-quoted passage leads me to believe that the people who wrote this compiler don't really have an understanding of the C language. Their product brochure claims Avocet C compilers are fully compatible with the new ANSI draft standard X3J11. Right. As for recommendations for *good* compilers for the 68HC11, the one from Archimedes came highly recommended, though I haven't used it myself so can't confirm how good it is. Knowing what I know now, though, I wish we'd gotten theirs; it's unlikely that it could be as bad as the Avocet compiler. ( Why did we choose Avocet in the first place? Well, it was cheaper, and the hardware guy who did the board design reported that his colleagues had been using it and were happy with it. Just goes to show what happens when you trust a hardware person's recommendation. ;-) -- Mark Bartelt SPV Technologies mark@spv.uucp Toronto, Ontario