CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

CCS | Mikroe(c) | ???

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
Guest








CCS | Mikroe(c) | ???
PostPosted: Mon Mar 31, 2008 6:29 am     Reply with quote

I ask because I think CCS has too many compiler bugs.

What do you think?
Matro
Guest







PostPosted: Mon Mar 31, 2008 8:41 am     Reply with quote

I never had a compiler bug...
Just things that are not really optimized.
But till today, CCS allows me to do everything I want to do.
I can't say that's the besst compiler I've ever seen. But compiling C for chip like PIC (especially PIC16) isn't something easy and I'm not sure that another one is better.
What bugs did you already have seen?

Matro.
horkesley



Joined: 20 Feb 2007
Posts: 48
Location: Essex UK

View user's profile Send private message Send e-mail Visit poster's website

Compiler
PostPosted: Mon Mar 31, 2008 9:41 am     Reply with quote

Hi,

I am interested in your comments regarding the CCS compiler.

I have been using the CCS compiler on and off for about a year or so, and have found it very frustrating to use, including the ICD-U40.

I write software professionally and the CCS setup crashes several times a day. This may be acceptable for the hobbyist but not the professional.

For most software I write I use the Microsoft Visual C++ and VB.net, but more and more of my clients projects require a microcontroller.

I have just finished a project using CCS and the PIC18F4520. For my next project I am considering the PIC32 series and the Microchip or HiTech compilers.

It is also an opportunity to consider other micros.

I have a development kit for the Atmel series and have been using AVR Studio for a few days and it has not crashed once.

I wonder if anyone else wishes to comment on the subject and possible recommend their favourite compiler.

Regards,
_________________
Horkesley Electronics Limited
ckielstra



Joined: 18 Mar 2004
Posts: 3680
Location: The Netherlands

View user's profile Send private message

Re: CCS | Mikroe(c) | ???
PostPosted: Mon Mar 31, 2008 9:55 am     Reply with quote

Anonymous wrote:
I ask because I think CCS has too many compiler bugs.
I only had a few minor bugs...

CCS provide on their website two compiler versions for download:
1) An older but stable version with little bugs.
2) The newest release with all new features and support for the newest processors but... untested.

The problem with CCS is that they don't mention the quality of the newest release. If you just download the latest version assuming that newer will be better than you are in for some bad surprises. For production quality only use the older stable version.

The good thing is CCS creates a new release as soon as they have a few bugs fixed. Especially the first releases of a major upgrade (like v3.249 to v4.0xx) are always of very bad quality and you will see new releases every couple of days. Currently the v4.069 compiler version is getting quiet stable; the time between new releases has extended to several weeks and in the forum few little compiler problems are discussed. I wouldn't be surprised if one of the next v4.0xx releases will get the 'stable' status.

I don't know the other PIC compilers but from long experience I know all compilers have bugs. For me it is more important to have a good support forum and that's what I've found here. Given a chance to start all over again I would choose another processor for projects where you can spend a dollar more on the processor.
boris



Joined: 29 Nov 2007
Posts: 15
Location: Hungary

View user's profile Send private message

PostPosted: Mon Mar 31, 2008 2:55 pm     Reply with quote

Hi!

I always wanted to write my opinion abut this.

I've been using MikroC for almost 3 years, and I think that it WAS a good compiler back than. But now it is not. Why do I say that? Because CCS is way better. MikroC has a wide variety of libraries, but less than CCS. My main problem was (is) with MikroC that they don't support the following:
- USB CDC
- RTOS
- TCP/IP Stack (it supports raw TCP/IP)
- Microchip's ICD2
- Small PICs (12F509, 10Fxxx)
- Open libraries

If someone wrote a message to the forum asking, please I need one of the 6 things mentioned above, the reply always was: It's not priority now...

The thing is that I'm using CCS for 5 months now and I'm very pleased with it.
But I must mention that I had problems with CCS code wizard twice. The last time I wanted to generate a Timer2 interrupt, so the code wizard made the following code


Code:

#int_TIMER2
void  TIMER2_isr(void)
{
...
}


the interrupt wasn't interrupting. Finally I found out that the second line shouldn't contain the second void part
Like so:
Code:

void  TIMER2_isr()


so my opinion is that if someone would like to program PIC's professionally use C18 or Hi-Tech, otherwise use CCS!
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Mon Mar 31, 2008 4:07 pm     Reply with quote

Quote:
Finally I found out that the second line shouldn't contain the second void part

That's not true. The following program works perfectly well.
It displays a character once every second. It's definitely interrupting.
I compiled this program with vs. 4.069 and ran it on a PicDem2-Plus
board just now. Here is the output:
Quote:
ABCDEFGHIJKLMN

Code:

#include <16F877.H>
#fuses XT, NOWDT, NOPROTECT, BROWNOUT, PUT, NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, ERRORS)

#int_timer2
void TIMER2_isr(void)
{
static int8 count = 0;
static int8 value = 'A';

count++;

if(count >= 244)
  {
   count = 0;
   putc(value++);
  }

}

//===================================
void main()
{
setup_timer_2(T2_DIV_BY_16, 255, 1);
clear_interrupt(INT_TIMER2);
enable_interrupts(INT_TIMER2);
enable_interrupts(GLOBAL);

while(1);
}
baltazar_aquino



Joined: 16 Mar 2008
Posts: 27

View user's profile Send private message

PostPosted: Tue Apr 01, 2008 12:05 am     Reply with quote

mikroE is good for beginners, but CCS C caters to beginners and professionals as well. Aside from the fact that mikroE's libraries are hidden, there is not much you can do to somehow flex your code. Here is a classic example: The flex lcd driver in the code section of this forum. You cannot write such a flexible lcd driver with mikroE without going thru the pain of coding the whole thing again. C18 is definitely not at par with CCS C because of its limited MCU support. I never tried Hi Tech. the SDCC v2.7 (gnu) is stable than the previous releases but you will have to write your own libraries - painfully. In my experience, CCS C is the best RAD for PIC MCUs. with regards to the crashing of your PC, If we are using exactly the same CCS C IDE version and mine is stable then the problem could be in your OS version or some libraries /behind the scene programs running in your PC.
Quote:
Finally I found out that the second line shouldn't contain the second void part

This is strange as the term void is so native to C. In fact, having developed my programming skills with strict syntax, I use void liberally and I never experience such in any CCS C version that I used.
boris



Joined: 29 Nov 2007
Posts: 15
Location: Hungary

View user's profile Send private message

PostPosted: Tue Apr 01, 2008 12:49 am     Reply with quote

Hi!

This maybe a bug in v4.068, because as soon as I took out the second void, the interrupt routine started to work.
And I fully agree with baltazar_aquino about the libraries, I had trouble with mikroC libraries, but couldn't look inside it, whereas if I had some trouble with CCS' libraries I could look inside it. CCS is indeed for professionals, but it's not ANSI C (due to the built in libraries), so you can't take your code to another microcontoller.
Matro
Guest







PostPosted: Tue Apr 01, 2008 1:53 am     Reply with quote

2 kind of people complaining :
- The ones who used to program PC softwares with a high-level language.
- The ones who complain about the IDE

For the first of them, I met a lot and they always had problems coding in embedded C for small target devices. So whatever could be the compiler, I think they would have problemes.
For the second ones, they don't answer the question that is about compiler and not IDE. I agree that CCS IDE isn't a very good one. And?... I don't care because you can use CCS compiler with command lines and it allows to integrate CCS in MPLAB or in your preferred IDE.

I use to work with embedded environment. And by looking at the code generated by CCS I can say : of course, it's not perfect, but it is a quite good one especially if you know the difficulty to compile C for such small devices.
You will never have a better code than the one you obtained by PERFECTLY programming in ASM. But for other people, CCS compiler OK, even for professionals (I talk only about the compiler, not the IDE).

Matro.
sv_shady



Joined: 07 Mar 2008
Posts: 28

View user's profile Send private message

PostPosted: Tue Apr 01, 2008 1:58 am     Reply with quote

I am using CCS for almost 2 years and i am very satisfied with it.
It has crashed a few times (3-4) on my pc but after the pre-installation of the OS this problem hasn't occured (that is more than an year). So this makes me thing that not the compiler but the OS has some bugs Smile I haven't faced any compiler bugs, it has always been me Smile Another pro of the CCS is the extensive help, the open-source examples, libraries and drivers, and of course this brilliant forum where you can always find the needed information and help. For me CCS is the best choice for PIC C compiler Smile
dyeatman



Joined: 06 Sep 2003
Posts: 1934
Location: Norman, OK

View user's profile Send private message

PostPosted: Tue Apr 01, 2008 6:48 am     Reply with quote

For me the CCS compiler has been a good one and I've had few significant
problems over the years. I code every day at the PC level and also do a
lot of embedded work which are two ENTIRELY different things. I am
constantly amazed at what people want a $4 PIC to do!

My number one rule is "keep it simple" when coding for the PIC and
avoid all the "fancy" stuff where possible (i.e. passing pointers and such).
I realize the limitations of the PIC environment would never try some of
the things I do regularly on the PC side.

Another thing I see here over and over is someone trying to stuff code
into a PIC that is too small, working to squeeze one more byte in. My
number one rule is plan for future growth and I have always had the
RAM/ROM/resources to do what was required. Being prudent I hope I
never find myself in that position.

I realize some of the people who come here are in school and trying to
deal with an assignment from thier instructor/professor. As someone who
leads a training organization I have always had problems with a person
who comes here expecting this board to do thier work/job for them. An
example of this is the person who says " I need to do such and such,
please show/give me the code" (see one of the most recent posts). Many
of these also have little or no understanding of the PIC for which they are
coding. This understanding is ESSENTIAL, if only they would take the time
to READ!

Overall I feel CCS is fairly equal to any other embedded compiler including
the higher priced ones and is superior in some ways. The IDE is
definitely not perfect but few things are. Frequently a person who has
downed CCS ends up coming back saying CCS is not so bad after all.


MY 2 cents...
dave
andrewg



Joined: 17 Aug 2005
Posts: 316
Location: Perth, Western Australia

View user's profile Send private message Visit poster's website

PostPosted: Wed Apr 02, 2008 8:37 am     Reply with quote

I chose the CCS compiler because of the excellent support it gave for the built-in peripherals of PICs, not to mention the library code for external chips and things!

However, in the five or six major projects I've undertaken so far, in every single one I've encountered at least one or two compiler bugs, i.e. code generation problems.

I can't fault CCS's library code, but their compiler itself is quite another story. Sad
_________________
Andrew
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group