Hello, I currently have an ICD2 from Microchip. I use it to develop PIC16 code using the MPLAB debugger and assembler. I need to move to the PIC18 parts and C language, but I am struggling figure out the development tools to get. Do you have any experience with the CCS compiler running with MPLAB and ICD2? ($175 solution) Thanks, Talal

Which PIC18 C Compiler?
Started by ●July 8, 2004
Reply by ●July 8, 20042004-07-08
"Talal Itani" <titani@airmail.net> wrote in message news:cckb50$cl9@library2.airnews.net...> Hello, > > I currently have an ICD2 from Microchip. I use it to develop PIC16 code > using the MPLAB debugger and assembler. I need to move to the PIC18 parts > and C language, but I am struggling figure out the development tools toget.> Do you have any experience with the CCS compiler running with MPLAB and > ICD2? ($175 solution)Where I used to work we used the Hi-Tech compiler for the PIC18, and had relatively few problems. The Microchip compiler was unusable. They have probably improved it. Leon -- Leon Heller, G1HSM http://www.geocities.com/leon_heller
Reply by ●July 8, 20042004-07-08
In comp.arch.embedded Talal Itani <titani@airmail.net> wrote:> Hello, > > I currently have an ICD2 from Microchip. I use it to develop PIC16 code > using the MPLAB debugger and assembler. I need to move to the PIC18 parts > and C language, but I am struggling figure out the development tools to get. > Do you have any experience with the CCS compiler running with MPLAB and > ICD2? ($175 solution) >If you're going for C on the PIC18, the only professional-quality solution is the IAR compiler. It's expensive, but you get what you pay for. Microchip's compiler lags it significantly on code density and quality, and (IMHO) CCS takes too many liberties with the standard to actually be called C. It's a C subset with some semantic differences and some PIC-specific enhancements. This might not matter to you if you're just using it instead of assembler to save the hassle of low-level programming, but if you have any interest in migrating C code to/from the PIC, IAR is the one and only choice. pete -- pete@fenelon.com "there's no room for enigmas in built-up areas"
Reply by ●July 8, 20042004-07-08
On Thu, 8 Jul 2004 15:34:43 -0500, the renowned "Talal Itani" <titani@airmail.net> wrote:>Hello, > >I currently have an ICD2 from Microchip. I use it to develop PIC16 code >using the MPLAB debugger and assembler. I need to move to the PIC18 parts >and C language, but I am struggling figure out the development tools to get. >Do you have any experience with the CCS compiler running with MPLAB and >ICD2? ($175 solution) > >Thanks, >TalalTry Hi-Tech's compiler. You can download a limited-time demo that is almost entirely functional from their web site (I think you have to register). It's < $1K. Best regards, Spehro Pefhany -- "it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com
Reply by ●July 8, 20042004-07-08
Pete Fenelon <pete@fenelon.com> writes:> If you're going for C on the PIC18, the only professional-quality > solution is the IAR compiler.I respectfully disagree. The Hitech C compiler for the PIC18 seems to be professional and of very high quality.
Reply by ●July 8, 20042004-07-08
In comp.arch.embedded Eric Smith <eric-no-spam-for-me@brouhaha.com> wrote:> Pete Fenelon <pete@fenelon.com> writes: >> If you're going for C on the PIC18, the only professional-quality >> solution is the IAR compiler. > > I respectfully disagree. The Hitech C compiler for the PIC18 seems to > be professional and of very high quality.It isn't proper C though, it gets the semantics of automatic variables wrong (treats them like statics rather than allocating on the stack) and you therefore can't write reentrant code with it. (At least, you couldn't last time I looked). Yes, it's a better product than CCS. But it's not a serious C compiler. pete -- pete@fenelon.com "there's no room for enigmas in built-up areas"
Reply by ●July 8, 20042004-07-08
...also try the CCS compiler... www.ccs-info.com Maybe the "non-standard" C is adequate for your needs. I've been using CCS compilers for years with success. I've never found any of the "non-standard" issues to be major show-stoppers in my applications. CCS is also looking at customer feedback for improvements in their compiler (as witnessed by the inclusion of a "real" sprintf() function as opposed to the work-around they had listed in their examples of the previous versions). I don't know if the CCS compiler will run with the ICD2 but I do know it will integrate with the MPLAB environment. The 6-pin (telco connector) pinout of the CCS debug module conforms with the ICD2 pinout for pins 1 through 5. Pin 6 is also picked up in the CCS debugger as going to the B3 pin of the target. Pin 6 is a no-connect in the ICD2. Basic bottom line is many time or size-limited versions exist out there. Try them all and pay for the one you want to use. Best of luck. Dave "Spehro Pefhany" <speffSNIP@interlogDOTyou.knowwhat> wrote in message news:9rhre056npaf5uc9sntjtvtjo6tbdrd4ui@4ax.com...> On Thu, 8 Jul 2004 15:34:43 -0500, the renowned "Talal Itani" > <titani@airmail.net> wrote: > > >Hello, > > > >I currently have an ICD2 from Microchip. I use it to develop PIC16 code > >using the MPLAB debugger and assembler. I need to move to the PIC18parts> >and C language, but I am struggling figure out the development tools toget.> >Do you have any experience with the CCS compiler running with MPLAB and > >ICD2? ($175 solution) > > > >Thanks, > >Talal > > Try Hi-Tech's compiler. You can download a limited-time demo that is > almost entirely functional from their web site (I think you have to > register). It's < $1K. > > Best regards, > Spehro Pefhany > -- > "it's the network..." "The Journey is the reward" > speff@interlog.com Info for manufacturers:http://www.trexon.com> Embedded software/hardware/analog Info for designers:http://www.speff.com
Reply by ●July 8, 20042004-07-08
Apologies for the incorrect web address... www.ccsinfo.com (no dash)... "starfire" <starfire151@cableone.net> wrote in message news:10erq24rrok78fd@corp.supernews.com...> ...also try the CCS compiler... www.ccs-info.com > > Maybe the "non-standard" C is adequate for your needs. I've been usingCCS> compilers for years with success. I've never found any of the > "non-standard" issues to be major show-stoppers in my applications. CCSis> also looking at customer feedback for improvements in their compiler (as > witnessed by the inclusion of a "real" sprintf() function as opposed tothe> work-around they had listed in their examples of the previous versions). > > I don't know if the CCS compiler will run with the ICD2 but I do know it > will integrate with the MPLAB environment. The 6-pin (telco connector) > pinout of the CCS debug module conforms with the ICD2 pinout for pins 1 > through 5. Pin 6 is also picked up in the CCS debugger as going to the B3 > pin of the target. Pin 6 is a no-connect in the ICD2. > > Basic bottom line is many time or size-limited versions exist out there. > Try them all and pay for the one you want to use. > > Best of luck. > > Dave > > "Spehro Pefhany" <speffSNIP@interlogDOTyou.knowwhat> wrote in message > news:9rhre056npaf5uc9sntjtvtjo6tbdrd4ui@4ax.com... > > On Thu, 8 Jul 2004 15:34:43 -0500, the renowned "Talal Itani" > > <titani@airmail.net> wrote: > > > > >Hello, > > > > > >I currently have an ICD2 from Microchip. I use it to develop PIC16code> > >using the MPLAB debugger and assembler. I need to move to the PIC18 > parts > > >and C language, but I am struggling figure out the development tools to > get. > > >Do you have any experience with the CCS compiler running with MPLAB and > > >ICD2? ($175 solution) > > > > > >Thanks, > > >Talal > > > > Try Hi-Tech's compiler. You can download a limited-time demo that is > > almost entirely functional from their web site (I think you have to > > register). It's < $1K. > > > > Best regards, > > Spehro Pefhany > > -- > > "it's the network..." "The Journey is thereward"> > speff@interlog.com Info for manufacturers: > http://www.trexon.com > > Embedded software/hardware/analog Info for designers: > http://www.speff.com > >
Reply by ●July 8, 20042004-07-08
"Eric Smith" <eric-no-spam-for-me@brouhaha.com> wrote in message news:qhk6xe86wr.fsf@ruckus.brouhaha.com...> Pete Fenelon <pete@fenelon.com> writes: > > If you're going for C on the PIC18, the only professional-quality > > solution is the IAR compiler. > > I respectfully disagree. The Hitech C compiler for the PIC18 seems to > be professional and of very high quality.I will share some of my experience with HiTech. Maybe 8.20 PL1 was just unfortunate version; I had the following problems: * the firmware was split into 2 independent modules, bootloader and application code. I needed to reserve certain memory, but compiler was ignoring the command line options for that and happily generated variables in restricted zones, i.e. colliding with bootloader. The workaround was to assign them spefic address: static u16 MmcRoot @ 0x204; /* MMC: first sector of root directory */ static u8 MmcRootSz @ 0x207; /* MMC: size of root directory */ * 32 bit expression in function call did not work, I had to pull it out into temporary var: LogMmc = LogSec + LogFile; /* compiler does not compile expression */ /* inside function call properly */ zseek(FLOG,LogMmc); * And I recall that in one case it "forgot" to switch the bank. Cannot locate the snippet though. Otherwise it is a good compiler. I cannot compare it, because I used CCS only for significantly simpler projects. Roman
Reply by ●July 9, 20042004-07-09
Pete Fenelon wrote:> In comp.arch.embedded Eric Smith <eric-no-spam-for-me@brouhaha.com> wrote: > > Pete Fenelon <pete@fenelon.com> writes: > >> If you're going for C on the PIC18, the only professional-quality > >> solution is the IAR compiler. > > > > I respectfully disagree. The Hitech C compiler for the PIC18 seems to > > be professional and of very high quality. > > It isn't proper C though, it gets the semantics of automatic variables > wrong (treats them like statics rather than allocating on the stack) > and you therefore can't write reentrant code with it. (At least, you > couldn't last time I looked). > > Yes, it's a better product than CCS. But it's not a serious C compiler. > > pete > -- > pete@fenelon.com "there's no room for enigmas in built-up areas"Actually Putting Variables on the stack is not a C requirement. It is just the most common implementation. If you are writing reentrant code on a small 8 bit cpu, you are looking for trouble (i.e. slow and big). If you want pure ANSI C you will trade it for code size. my $0.02
