Jump to content

Recommended Posts

Ok. First, I purchased the Sourceboost C++ license, so I do know something about it. I also know that it is missing a number of very useful function libraries. There is, for instance, no support for trig functions. These are needed for some of the things I do, and I have to do it brute force using BoostC.

 

So.

 

For those who have tried both, why should I stay with BoostC++? I have NOT used C18... yet. I plan on installing it this weekend to test it, but I am familiar with BoostC, and while it has many limitations that I don't like, I am, as I said, familiar with it.

 

Share this post


Link to post
Share on other sites

Hi

 

I have Hitech C, Mplab C18, XC8 and Boost C installed on my system.

I started with them all in free mode and after almost one year decided to put my money on BoostC.

 

My choice of BoostC was a question of cost/benefit and device support.

Microchip C18 only suports PIC18 devices, not PIC12/16.

To be able to work with both PIC16 and 18 I wouild have needed 2 licences, one for Hitech C (PIC10/12/16) and another for Mplab C18 (PIC18)

OTOH the cost of the Hitech and the cost of the C18 pro licences was way above the cost for a BoostC pro licence.

At least for me one low-cost licence is far better than 2 high-cost ones.

 

BTW C18 is "dead", it has been superceeded by XC8 that covers all 8 bit PICs. So should be avoided for any new developments.

XC8 is a direct derivative of Hitech C, meaning code portability from Hitech C is acceptable, but from C18 is a nightmare, better saying, is almost non-existent.

 

Meanwhile, all those nice libs from C18 have not yet been ported to XC8.

At the speed Microchip is doing it, I'm not expecting a mature set of libs before 2015.

 

Meanwhile my, more or less, regular contribution to the Microchip foruns lead me to do a lot of testing and comparing betwen all the above mentioned compilers.

One thing I discovered is that the number of known/uncorrected bugs in other compilers is a couple of notches above BoostC.

So far hadn't found a good reason to change, so for the foreseable future I'm satying with BoostC.

 

 

On the subject of libraries, I'm not the best reference as I seldom use the ready made ones.

At microcontroler level I like to know how things work in detail, so I allways start by writing my own code based on the documentation (datasheets).for any peripheral that I'm using for the first time.

As I only use a few different PICs I don't need universal libs, after the above learning process, I end up writing my own libs optimized for the few PICs I use.

Also when things get a little more complex I make use of the NOVO kernel so once again the ready made libs fall out of scope as they are not designed to take advantage of an RTOS, most of them use locking alghoritms and active delays.

 

But this is my reality, and each one as its own.

 

 

Best regards

Jorge

Edited by JorgeF

Share this post


Link to post
Share on other sites

I appreciate the well-tought-out response and the honesty. I was unaware of the obsolescence of C18. I have recently started attempting USB support for some of my projects. My little exposure has been difficult and unproductive. I recently found an engineering design white paper on a simple USB project using C18, hence my interest.

 

I'll certainly take it under advisement. I also only recently looked at the costs. I have the BoostC++ Pro license, and I don't know that I could foot the $600 for the C18 license alone.

 

Anyway, thank you for the thought-provoking response.

Share this post


Link to post
Share on other sites

Hi

 

If you want a startup help on USB, using USB enabled PICs and BoostC here are a few links of interest.

 

Sourceboost Site:

Boost C code examples, scroll down until you find a USB project by Robert Lang http://www.sourceboost.com/Products/BoostC/ExampleCode.html

Old embeded adventures blog, find the theory under episodes and the code by downloading the most recent Picpack http://embeddedadventures.blogspot.pt/

 

Some other interesting stuff here also

New embeded adventures site: http://www.embeddedadventures.com/

 

 

Have fun

 

Best regards

Jorge

Edited by JorgeF

Share this post


Link to post
Share on other sites

I agree with Jorge that BoostC is the way to go. I also make my own libraries so I have just what I need. I tried C18 and found that it generated very bloated code compared to BoostC. Also, I needed to do a lot of typecasting and other ugly games to get it to use 8-bit variables correctly

 

On a side note, I'm a big fan of the SourceBoost simulator and the ability to create custom plugins to emulate my external hardware (SD cards, NIXIE tubes, PWM motors, keypads and antique computers). This alone is worth the price of the tool and saves me a great deal of time and frustration developing projects

 

I just do this for entertainment and not for profit but find that the pros at SourceBoost are very responsive to problems that I encounter.

Edited by trossin

Share this post


Link to post
Share on other sites

I appreciate that. I have never tried to build any plugins, and I have never managed to get the simulator to do much of anything but get locked in my loop. I use Oshonsoft for my simulator.

 

As far as USB is concerned, I have never managed to get any of the available HID development tools to waork at all. I have tried to generate my own descriptors, but failed miserably. None of tyhe examples I have ever seen were detailed enough for me to be able to understand what to do with them. I'm an electrical guy and sometimes all the code stuff is above my head, especially when it comes to interfacing with the PC. I have written many VB PC applications, but nothing that ever interfaced with external devices beyond the keyboard.

 

I've looked at Lang's example before and could not get it to work. Either the code would not compile on the PC or it would not compile in BoostC. It was too complex for me, frankly.

 

For USB, all I ever wanted was to see if I could get it to work, and nothing I ever did made any sense to me and hence never worked. I all but gave up on USB. I tend to learn more through example.

Share this post


Link to post
Share on other sites

Hi

 

Yes the USB specs are a bit overwelming (even for me, an EE since 1989).

The all standard is quite complex and with lots of small details that can ruin it all. Also the complexity of it leads to some dificulties on explaining it in a simpel way.

 

Besides the code questions, one of the more easy to understand explanations on the inner workings of USB can be found in "episodes 19 to 23" at http://embeddedadventures.blogspot.pt/

It really deserves the reading.

 

 

Just my 2 cents

 

Best regards

Jorge

Share this post


Link to post
Share on other sites

Well, the library looks promissing. I'll give it a try. I have never found an example I could really understand. The problem is that most examples dump way too much information but not any explanation. I have this HID demo that has 15 executables in it, but not one bit of information that tells me what any of them are for or what they do. I have no idea which one is for the PIC and which one for the PC.

 

Other times, the files won't compile for some reason and I can't get anything to actually run. It's frustrating, and I don't really expect this to be any different, but I'll still give it a shot.

 

Thanks for the info.

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...

×
×
  • Create New...