Vitaliy wrote: > So I'm wondering if people can share their experiences using third party > compilers for the PIC18: SDCC, CCS, HI-TECH, CC8E, BoostC, mikroC, IAR (any > others I've missed?) I evaluated a bunch of these a few years ago. At the time I wanted a very low cost entry-level compiler, with a good upgrade option. I eliminated several because they didn't have a demo/low-cost version, or because the demo didn't support the particular chip I was using at that time. Not very relevant criteria now, or probably for you. So the two I spent serious time with were BoostC and mikroC, with a little attention to PICC. I chose Boost. So my comments on mikroC may be out of date. Both have their own IDE as well as the compiler. Both have simulators with their IDEs, and neither of them was usable for me - crashes or too many unimplemented chip features. I use MPLAB's simulator instead. There seems to be no real standardization among PIC C compilers on the syntax for things like direct bit access; Boost uses "register.BIT". All of them seem pretty equivalent, but the differences make porting annoying. BoostC covers both PIC16 and PIC18. > Specifically, > > - How stable is it (bugs)? Boost: Fairly stable, but I have encountered bugs periodically, including one recently that screwed up bank switching. Took a long time to track it down to their linker. Took several days to get a fix; don't know whether that counts as slow or fast - but this was a pretty tough bug, and they did send me a version to test before they released the fix generally. mikroC (and I think I also tried mikroPascal) seemed very buggy at the time. > - How well does it integrate with MPLAB? BoostC: Quite well with one big hole. Variable browsing in the simulator works well, which is the hard part; the ability to compile just a changed file ("make logic") is missing, which seems like it should be the easy part! So, for multi-file projects, not really usable under MPLAB for normal development. mikroC: Don't remember if it's possible. > - How good are the libraries? Both have decent libraries for serial, LCD, 1-wire, etc; mikro has the edge in breadth, I think (e.g., support for the PS/2 keyboard/mouse serial, some sound, some USB), but aren't very deep. Boost has a floating-point library, and an RTOS (separate license, I think). > - How does its performance compare to the C18, and other compilers? Speed of compiler: mikroC - don't remember. Speed/size of output code: mikroC was just dreadful; generated code was twice the size of PICC Lite's, e.g. Boost's optimizer seems fairly good; there are still places where I can do better by hand, but that doesn't surprise me. Support for the "inline" keyword and for a software stack helps. > RUMORS > - BoostC has slow compilation times Certainly under MPLAB, because of the make issue. Doesn't seem terribly slow otherwise, though I don't have any concrete, recent experience with other compilers for comparison. In general, I'm happy with BoostC, and it's quite reasonably priced. -- Timothy J. Weber http://timothyweber.org -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist