Skip to main content
Topic: XC32 (Read 10722 times) previous topic - next topic

XC32

Anyone tried XC32? What's the difference compared to C32 (that can't be downloaded any more?!)

I tried XC8 and compared to C18 it does not work. None of MAL stuff can be compiled with XC8, stuff that C18 compiled without problem now are too large and can't fit into pic when compiled with XC8 etc etc ... so, I'm worried if XC32 is same downgraded compiler as is XC8...

anyone with any experience?

Re: XC32

Reply #1
I installed those today and I am feeling kinda strange about them. I didn't test any code with them (yet) but now hearing that you cannot compile any MAL with them is quite hinky.

Maybe they'll release a new MAL that is compatible in near future?

Re: XC32

Reply #2
XC8 don't compile MAL, donno about XC30 and XC32 .. afaik there will be a version (when is a big question with mchip always so .. maybe in a day, maybe in a year..) of MAL that compiles properly with XC8 (or they will change XC8 to compile existing MAL who knows) .. I'm not sure whazaap there but wrt 8bit pic's I moved from mchip so I don't care too much .. (16bits I never really used as TI was always my first choice there) ... 32bit is what it's interesting for me .. and if mchip fscks up the XC32.. I just can't afford to test it now as I'm in the middle of a project (closed source unfortunately) but when I'm done if it don't work 1/1 with XC32 I think I will be uninstalling everything microchip from my computer

Re: XC32

Reply #3
why are saying you can't download C32 anymore ?
it's still available on Mchip website from their original page http://www.microchip.com/stellent/idcpl ... =compilers

as for what's new, you can find most answers in v1.00 release Readme-file http://ww1.microchip.com/downloads/en/S ... e_XC32.pdf

XC32 doesn't differ from C32 as it's the same GCC compiler, nothing changed really. They mainly worked on the Linker thingy and other stuff. GCC is extremely mature and provide most of what's needed by C developper.
In contrast XC8 (for small micro 16Fxx/12/10Fxx) is mainly based on Hitech compiler, so it's really a lot different from old C18.

Re: XC32

Reply #4
[quote author="octal"]why are saying you can't download C32 anymore ?
it's still available on Mchip website from their original page http://www.microchip.com/stellent/idcpl ... =compilers
[/quote]

That link offers XC compilers, I don't see C32 v2.02 for linux nor windows version on that link (nor links under it)
I browsed microchip site day before yesterday for 45 minutes before I gave up and concluded they removed dl link for C32 v2.02 from the site. (btw this morning I found windows version of C32 v2.02a but no linux version)

[quote author="octal"]
as for what's new, you can find most answers in v1.00 release Readme-file
http://ww1.microchip.com/downloads/en/S ... e_XC32.pdf
[/quote]

Many thanks for that, it's what I was asking for .. (I still prefer some personal insight as I have bad experience with readme files and their relation to truth).

Quote
XC32 doesn't differ from C32 as it's the same GCC compiler, nothing changed really. They mainly worked on the Linker thingy and other stuff. GCC is extremely mature and provide most of what's needed by C developper.
In contrast XC8 (for small micro 16Fxx/12/10Fxx) is mainly based on Hitech compiler, so it's really a lot different from old C18.

cool, so C32 is more less same thing with few changes. That's good to hear, that allows me to have faith in 32bit tools from mchip :) ... The free version of hitech was producing unusable code, if XC8 is based on that ... I reeeeally hope it will be usable .. I hope they don't fsck up whole 8bit set of mcu's in order to bring C compiler to 10-12-14-16F series... there are some very usable 18F devices there .. but with idiotic licence bs on MAL completely unusable for open source projects, and I consider that project might go open even if at beginning it's designed as proprietary ... so using MAL is ... pain ... loads of pain... anyhow, I don't use mchip any more for 8 and 16bit so imo they can do whatever they please I don't care, and I'm "this much" from giving up on pic32mx too :( ( not that they do or should give a damn about my few hundred mcu's per year :D ) ...

Thanks for the readme .. so far it looks startup code is bit different so bootloaders need to be fixed, linker scripts seem completely different (better) ... so it looks like a viable solution with no hassle to migrate, now I just need to read (and understand) the licencing and pricing option to decide how to proceed.. (since the alternative is arm with 100% free and fully functional compiler without optimization restrictions)


Re: XC32

Reply #6
Arhi,
their prices are not that expensive compared to entreprise editions of ARM tools. Check any ARM compiler vendor, their prices are all > $1000 per seat.

The price was one of the reasons that pushed me to start working on my own compiler for PIC32.

Re: XC32

Reply #7
Yes but C32 is gcc with few specific add-ons and for arm you get 100% free gcc with all optimizations in there. Most arm money is in the gdbserver interface to support all possible jtag interfaces and in the gui. The compiler itself is fully functional and free.

I personally never figured out why the hack would any mcu manufacturer be charging any money for a compiler, this might also be an explanation why AVR has order of magnitude (or even two) bigger community compared to PIC. I get the GUI story, there's ton of GUI's for ARM that are being sold for e.g., some are worth the dime, some are not, but underlining compiler is more/less identical for all and is free. For AVR, same story, or even better, the gui is decent and supported by the same company + bunch of 3rd party gui's .. all using free compiler.... now Microchip decides to be smarter then them all and charge $1300 for a compiler, that is based on GCC so basically they are obligated to share source of that $1300 compiler (and they say if you pay $100 fee they will give you the source - probably printed on self igniting paper) ... not to mention that difference between lite, standard and pro compilers are nowhere to be found (except for uber useless graphs showing how pro will create 50% better code, where "better" is not defined) and with Microchip track record of adding shit into code to simulate bigger difference between free and non-free versions (remember hitech after Microchip acquired it) I fear that XC32 will be bloating code on purpose to get the pro version to generate "50% better code" ... It is just too much FUD (and seems that I'm spreading some too so I will immediately stop) and pic32 is not that better, with not that much better documentation, hardware, libraries then ARM nor the chip itself is cheaper enough to cover for that $1300 price tag on compiler ... I love mips but ..

Re: XC32

Reply #8
Arhi,a
I share most of your tought here. GCC codes are free and available. Microchip charges $100 to send the codes related to libraries (math lib for example). GCC generates good code, and the port to MIPS has been done by MIPS and not Microchip. Basically, Microchip added a some libs (maths and libc), and startup routines and linker scripts. For those later, they have no obligation to make them open source nor gnu. For any GCC distribution, the runtime lib (rtl) and associated tools (linker scripts) are not GNU. This explains for example why Rowley shares the GCC sources codes, but not their own RTL and LIBC and Linker scripts and IDE.
Now, regarding the $1300, basically, when you ask those vendors why do they ask for money they all answers: we are selling "support", not the compiler itself. This is their answers. Microchip added to this answer that they are selling their backend optimizer that makes final generated code so compact and quick.

Now regarding going PIC32 or ARM, the problem is with ther ARM vendors, not with the technology itself. Microchip is a very good partner. When you work with them at high scale (100K or more chips per year), they provide instant support, lead time is most of the time <6months. Compared to, for example, NXP or ST, for such quantities, lead time is more than 1 year, and the bed thing, is that most of these vendors (including NXP) obsolete the chip without any warning. At work, for example, we heared from forums that ST is going to stop producing an ARM9 chip we were using on one of the most important products. When we asked ST, they confirmed that they will stop producing it by mid 2013. This is extremely short for us to migrate to another chip, and they (ST) are not going to produce any pin to pin or hardware compatible chip. Microchip NEVER does that, Microchip still continue to produce PIC14xx and PIC16xx. For example, when Mchip reduced the production qtt of PIC16C57, they started to produce the pin to pin and 100% software compatible PIC16F57 which is flash based. Microchip never obsolete a chip, and this is a serious advantage over other vendors.
Ask people about NXP, they also stops some chips completely, and most important, they always announce a new chip ready to use in less than 6 months, and in reality you never got it before at least 1 or 2 years later.
This is the industry fact. Microchip rules because of it's marketing strategy and its constantness.

Re: XC32

Reply #9
[quote author="octal"]Now, regarding the $1300, basically, when you ask those vendors why do they ask for money they all answers: we are selling "support", not the compiler itself. This is their answers. Microchip added to this answer that they are selling their backend optimizer that makes final generated code so compact and quick.
[/quote]

That's BS. I work for MySQL for many years and we do sell support but MySQL is free. Recently our management decided to move some features (fairly irrelevant features but still.) to closed source available only for paying customers and whole hell broke loose, 2 forks are made, both include those features for free, ppl are bashing this decision on forums etc etc ... and, to say it again, it's not something that affects the behavior of MySQL (we'r talking about authentication plugin that allow you to authenticate user using ldap for e.g. 99% of mysql users never needed that nor use it, I don't know a single paying client that uses this feature)... Now if they are selling support, why the fsck they don't push the ultra turbo mega best compiler out of the door and let us pay for support if we think we need it. I'm first one to purchase support.. But if you tell me "gimme $1300 for a compiler and after a year there are no updates", I won't even respond to that, I'll just look for another vendor, as I'm about to do here.. First and last compiler I purchased under those conditions is PICC CCS compiler. After a year I have useless compiler as it don't support new chips, it has unfixed bugs etc etc ... so I either go and get a "fixed" version from torrent or ... I don't want to use torrent so I decide accordingly... Check out Mikroelektronika - you pay for compiler ONCE, you get support, you get upgrades, everything "for life". Yes they are not compatible with pickit2/3, ice2/3 but they have a pretty good compiler there... (waaaaaaaaaaaaaaaay better for 8bit then anything microchip + hitech provided so far, haven't tried 16 and 32bit versions)..

So really, "support"... right... they can try to put that over someone else's eyes.... Also the BS comparison charts they offer, it's like we'r bunch of biology teachers, belletristic writers or medical doctors so they try to show how pro will be 50% better !? I think we deserve a bit more technical explanation there, 50% of users know how to make a freaking compiler, they need more then a freaking bar graph. I found that insulting..


[quote author="octal"]
Microchip never obsolete a chip, and this is a serious advantage over other vendors.
[/quote]

yes, for large scale applications it is a very important issue. But for large scale application
 - price of the tools is irrelevant (as on large scale this is peanuts)
 - price of the compiler is irrelevant (again on large scale, it's next to nothing)
 - price of a single chip is very important, .5 can be huge amount when you scale up
 - long time availability of the chip is something you can't really work without on large scale app
 - community is completely irrelevant, licences, "open sourceness" etc etc ..

I'm talking about different aspect here, related to where we have this discussion at, open source / open hardware forum ... I like motorola, it's one of the first mcu's I used, it has a "we do not give a darn about hobby market" attitude, dev kits are non existing/ super expensive to purchase but they give them away to partners for free, compilers cost arm and a leg, programmers and debuggers also, documentation is nowhere to be found publicly etc etc... but become a partner and order 100k mcu's and you get everythign and on large scale all the tools are insignificant price add-on looking at the whole project, while super cheap chips and availability are top... But motorola never inspired to have a community, to get into hobby market etc ... mchip do, and they are super crappy about it from the start. The only thing I don't understand is why the hack I'm wasting my time writing about it when 99% of the open source mcu community moved to AVR long time ago and find mchip to be just an annoyance..

[quote author="octal"]Microchip rules because of it's marketing strategy and its constantness.[/quote]
Donno, I'm not in hw industry, only a hobbyist, I'm in sw industry so can't really say what's real there but I know 3 fairly large companies that do hw development, one is asic/fpga only and they make soft mcu's when they need them in their projects and the only "mcu's" on their projects are some ftdi like chips so not really relevant, one is 100% motorola user and third one is 50% motorola and 50% renesanse.. mchip is not something any of them regard to as industry friendly company .. ( good friends work there so I had that conversation with them many times ). Now it's 3 companies out of 300k companies or more so it's not really a sample that can give any realistic info :D but ..

Re: XC32

Reply #10
I understand your point Arhi. I'm not trying to defend Microchip, and I'm talking about them from a company point of view (the company where I work uses about 200K dsPIC33 per year).
As for their compilers, I always said that: Microchip is NOT and WILL NEVER BE a software company. They better open source their compilers (and even debuggers and co.).
The bad thing I heared about these last years was the aquisition of HITECH by Microchip. From my point of view, this killed a company that was proposing alternative compilers, and this made -1 compiler vendor for Mchip parts. They simply killed HITECH. Compared to ARM that aquired KEIL to let keil provide up to date quality compilers, Mchip killed the Eclipse based HITEC IDE and forced us to switch to Netbeans, killed all a series of compilers for other MCUs (HITECH 8051 or even the compiler hitech was going to provide HITECH for AVR).

As for AVR vs Mchip, the problem with atmel is also the same: Atmel obsoletes parts quite frequently without providing replacement. The second problem with AVR is that they still dont provide too much hardware peripherals right now compared to Mchip (compare any ATMEGA to the 8 years old PIC18F2550). Now I agree that AVR architecture is by far cleaner and more modern than PIC10/12/16/18F ones (altought there are a lot of things strange there).

Re: XC32

Reply #11
Yes, from the electronic business pov mchip is pretty good and atmel pretty much suck (they give up on parts fast, sometimes even current parts can't be found anywhere on stock etc etc), but as I said, I'm looking at them from the hobbyist pov. If I had electronics design company I'd be having completely different set of requirements but as open software / open hardware / hobby user attm I see mchip as a wrong choice :(. I still have way more experience with pic's then all other mcu's together and it makes throwing it all away very tough but .. (as for the netbeans I like netbeans 1000000 times better then eclipse :D so imo mplabx is super success)