Jump to content
Sign in to follow this  
izakdude

A Few Features Wanted

Recommended Posts

I am trying to convert some of my programs from CC5x to BoostC.

 

The two problems I've noticed are:

 

A) capitalization of special registers (IE- 'porta' works but 'PORTA' does not)

I always leave special register names capitalized so they stand out... is there any chance the compiler could treat them as case-insensitive?

 

:blink: bit accessing of special registers:

in my programs, I have always defined port pins as follows:

 

bit ser_tx @ PORTA.1;

 

however, boostC gives the errors:

HDSDC.c
HDSDC.c(19): error: missing fixed address
HDSDC.c(19): error: missing semicolon
HDSDC.c(19): error:  failure

 

but if i change it to 'bit ser_tx @ 0x05.1;' it works fine. having to find the address of the register to define things like that is a huge pain.

 

And finally, CC5x puts the C code into the ASM file as comments. That makes it incredibly easy to inspect the assembly if needed, because you can see what code corresponds to a certain command in the C source. But if your IDE does good debugging directly in C, then that shouldn't be a problem.

 

One feature I haven't seen yet in the IDE is a stopwatch... just about the only thing I ever used MPLAB for was finding exact delay times of certain routines by using breakpoints and the stopwatch. I see yours has a "speed tester" but that doesn't seem quite the same.

 

I am going to test out porting over and compiling one of my old CC5x programs in BoostC, and compare the generated code size and make sure it works and everything... but if your software works like it should, I guarantee you'll be getting some $$ from me before long... B. Knudsen, the CC5x guy, has hinted at releasing an IDE and some lower-cost versions of his compiler, but so far I've seen nothing and haven't been able to bring myself to pay several hundred dollars for it. And now that i've found yours, I'm pretty excited.

Share this post


Link to post
Share on other sites
I am trying to convert some of my programs from CC5x to BoostC.

 

The two problems I've noticed are:

 

A) capitalization of special registers (IE- 'porta' works but 'PORTA' does not)

I always leave special register names capitalized so they stand out... is there any chance the compiler could treat them as case-insensitive?

This was just a design choise. In system.h that does all the magic (you do include system.h into your code, don't you) all constants are defined using capitals and all variables are in small letters. Thus 'PORTA' and 'porta' are different things. 'PORTA' is a number and it represents the physical address of port A on the current target and 'porta' is a variable that is located on the address represented by the number 'PORTA'.

 

 

:blink: bit accessing of special registers:

in my programs, I have always defined port pins as follows:

 

bit ser_tx @ PORTA.1;

 

however, boostC gives the errors:

HDSDC.c
HDSDC.c(19): error: missing fixed address
HDSDC.c(19): error: missing semicolon
HDSDC.c(19): error:  failure

 

but if i change it to 'bit ser_tx @ 0x05.1;' it works fine.  having to find the address of the register to define things like that is a huge pain.

This doesn't look right. Probably something else is (or is missing) in your code. If you have included system.h than PORTA is defined and declaration like bit ser_tx @ PORTA.1; compiles without problems.

 

And finally, CC5x puts the C code into the ASM file as comments.  That makes it incredibly easy to inspect the assembly if needed, because you can see what code corresponds to a certain command in the C source.  But if your IDE does good debugging directly in C, then that shouldn't be a problem. 

Yes we do support source level debugging. Additionally under SourceBoost you can see mixed C and assembly in a dedicated panel too.

One feature I haven't seen yet in the IDE is a stopwatch...  just about the only thing I ever used MPLAB for was finding exact delay times of certain routines by using breakpoints and the stopwatch.  I see yours has a "speed tester" but that doesn't seem quite the same.

There is another stopwatch plugin that seems to do exactly what are you asking for. This plugin is a part of a separate plugin package available to download from the same web page as SourceBoost.

I am going to test out porting over and compiling one of my old CC5x programs in BoostC, and compare the generated code size and make sure it works and everything... but if your software works like it should, I guarantee you'll be getting some $$ from me before long... B. Knudsen, the CC5x guy, has hinted at releasing an IDE and some lower-cost versions of his compiler, but so far I've seen nothing and haven't been able to bring myself to pay several hundred dollars for it.  And now that i've found yours, I'm pretty excited.

Please let us know if there are things that can be improved in BoostC (like possible code optimization). Either post on this forum or send a mail to support@picant.com.

 

Regards,

Pavel

Share this post


Link to post
Share on other sites

Wow. Yeah that was my first attempt at using the compiler, so I went and included p16f88.h instead of system.h

 

I'm quite impressed that you can just include a generic header and have it sort things out like that, it's a nice change from CC5x where you had to pick the header file yourself.

 

Well I'll keep playing with it for a while. But if things continue going smoothly (first ported program was a big success) I think you'll be seeing an order for a full version from me soon :blink:

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...