• AVR Freaks

Hot!Why Microchip isn't good in software?

Page: 12 > Showing page 1 of 2
Author
pajuhesh80
Super Member
  • Total Posts : 88
  • Reward points : 0
  • Joined: 2019/12/08 11:23:37
  • Location: Nowshahr, Mazandaran, Iran
  • Status: offline
2020/06/30 05:41:18 (permalink)
5 (3)

Why Microchip isn't good in software?

As you know AVR uses AVR GNU Toolchain. It is open-source and totally free. You can use any optimization level and all features of compiler for free. Writing assembly for it is straightforward. I enjoyed learning and coding in Atmel Studio. Also its web forum (avrfreaks.net) is designed well.
But when I started to learn PIC using MPLAB X, it was really bad. The IDE is ugly (this is my opinion ;-) ), there aren't many good tutorials for XC8, and you should purchase pro version to use all features of compiler. I tried to learn XC8 assembly to optimize my code manually but while reading XC8 manual pdf, I felt they made it a little complicated. And you should try to send a message at least 10 times in this website to pass "Access Denied" page :-( !
Why Microchip didn't use (or develop) a free (and probably open-source) compiler for PIC? I know developing a compiler is hard and needs a lot of money but Atmel (former) managed to keep everything free! Why Microchip doesn't update this old-looking and buggy website?

Slow and Steady!
#1

24 Replies Related Threads

    katela
    Super Member
    • Total Posts : 1833
    • Reward points : 0
    • Joined: 2013/06/11 05:25:18
    • Location: South Africa
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/06/30 06:09:30 (permalink)
    +5 (5)
    Seems like they don't really care. Buy competitor, stay ahead despite daily complains from this forum

    Free online Microcontroller Tutorials and Projects for Hobbyists and students. From beginners to advanced. Website: www.studentcompanion.co.za
    YouTube Tutorials: https://www.youtube.com/StudentCompanionSA
    #2
    JPortici
    Super Member
    • Total Posts : 1114
    • Reward points : 0
    • Joined: 2012/11/17 06:27:45
    • Location: Grappaland
    • Status: online
    Re: Why Microchip isn't good in software? 2020/06/30 06:11:29 (permalink)
    +2 (2)
    I advocate for free compilers, but please let's stop the "user must buy to have all features".
    Optimization level 2 is FREE and has been for quite some time, on all compilers.
    If you go and read the optimizations you unlock with -O3, they are the most aggressive in code size, like procedural abstraction and they make the code the hardest to debug. Use them only if you really NEED to save that space. Other paid licenses include code coverage metrics and functional safety qualified compilers which i found to have a low price tag for being certified tools
     
    If you actually write good, clear C, you'll see that there won't be much gain between -O1 and -O2
     
    I also prefer netbeans over visual studio
    And the compiler documentation is among the best ever written, and has almost never failed me
     
    However i agree that the forum is atrocious. What they should have done is move everything to atmel community.
    #3
    du00000001
    Just Some Member
    • Total Posts : 3850
    • Reward points : 0
    • Joined: 2016/05/03 13:52:42
    • Location: Germany
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/06/30 06:18:34 (permalink)
    +1 (1)
    pajuhesh80
    As you know AVR uses AVR GNU Toolchain. . . .
    Why Microchip doesn't update this old-looking and buggy website?



    Mi, mi, mi wink
     
    To cut things short: The first PIC cores already existed when the developers of the AVR core were still sucklings and got pampered.
    Thus the latter had a headstart when deciding upon an architecture: at the time this happened C was well established and they decided to make their architecture C-friendly. So much about the one side.
    OTOH, the PICs go with less silicon for the same function (even if - or maybe just "because" - the core is running at a max. of 1/4 to 1/2 the speed of a comparable AVR). And the PICs got waaayyy better peripherals. Which is certainly one of the causes that Microchip swallowed Atmel  Smile
     
    To be completely honest: the PC Visual Something (or whatever their current name is) Compilers are free and absolutely great! Why don't you start programming some fancy PC in asm?
     
    P.S.: I could tell you some facts about Atmel no free compiler in the world can ever compensate for.

    PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)
    #4
    pajuhesh80
    Super Member
    • Total Posts : 88
    • Reward points : 0
    • Joined: 2019/12/08 11:23:37
    • Location: Nowshahr, Mazandaran, Iran
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/06/30 06:47:35 (permalink)
    0
    Jack_M
    .. there won't be much gain between -O1 and -O2

    But things are different when you are coding for USB!
    I used mla USB codes for my project. As it used a lot of space (-O2), I decided to optimize it manually. XC8 free doesn't even care about inline functions (as mentioned in manual)! I converted single used functions to inline code in usb_device.c and saved a lot of space. Still, when I build with pro comparison, code size is about 2000 bytes less for pro version!
     
    Jack_M
    And the compiler documentation is among the best ever written, and has almost never failed me.

    I didn't say documentation is bad. I said there aren't many good tutorials. Trying to learn things from a datasheet or manual is like trying to learn English using a dictionary! :)
     
    du00000001
    The first PIC cores already existed when ...

    They (microchip) could implement an improved architecture in their modern series.
     
    du00000001
    And the PICs got waaayyy better peripherals.

    I agree. This is why I switched to PIC for my recent project. I couldn't find any AVR with all peripherals I needed together.
    (to be honest, not "waaayyy", just "way"! ;) )
     
    du00000001
    To be completely honest: the PC Visual Something (or whatever their current name is) Compilers are free and absolutely great! Why don't you start programming some fancy PC in asm?

    Sorry but I didn't understand this part; would you please explain more? By PC you mean personal computer or something else? Do you mean I write assembly for my x86 CISC processor?
     
    du00000001
    I could tell you some facts about Atmel no free compiler in the world can ever compensate for.

    ???
    post edited by pajuhesh80 - 2020/06/30 06:52:10

    Slow and Steady!
    #5
    NorthGuy
    Super Member
    • Total Posts : 6228
    • Reward points : 0
    • Joined: 2014/02/23 14:23:23
    • Location: Northern Canada
    • Status: online
    Re: Why Microchip isn't good in software? 2020/06/30 07:48:37 (permalink)
    +2 (2)
    pajuhesh80
    But things are different when you are coding for USB!
    ... when I build with pro comparison, code size is about 2000 bytes less for pro version!

     
    Wow. My entire assembler-written USB HID device code for PIC16 was less than 1000 instructions.
    #6
    pajuhesh80
    Super Member
    • Total Posts : 88
    • Reward points : 0
    • Joined: 2019/12/08 11:23:37
    • Location: Nowshahr, Mazandaran, Iran
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/06/30 13:46:31 (permalink)
    0
    NorthGuy 
    Wow. My entire assembler-written USB HID device code for PIC16 was less than 1000 instructions.

    After learning assembly for AVR, I converted one of my projects from C to assembly. Code size reduced about 500 bytes (-Os for C) whithout any performance loss.
    I want to do the same in near future. First I have to fully learn USB (currently using and modifying mla examples :) ), then PIC assembly. It would be very good if I can reduce USB code size that high as I need a custom USB bootloader for my project also.

    Slow and Steady!
    #7
    my504
    Junior Member
    • Total Posts : 20
    • Reward points : 0
    • Joined: 2018/01/21 05:29:36
    • Location: Moskow reg., Fryazino
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/01 07:00:27 (permalink)
    +1 (1)
    pajuhesh80
     
    They (microchip) could implement an improved architecture in their modern series.
     

    There is no point in improving the 8-bit core when there is 16-bit (PIC24/dsPIC33).
    But the 8-bit architecture got a good kick forward with the release of PIC18FxxQ43.
    #8
    du00000001
    Just Some Member
    • Total Posts : 3850
    • Reward points : 0
    • Joined: 2016/05/03 13:52:42
    • Location: Germany
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/01 07:15:51 (permalink)
    +1 (1)
    pajuhesh80
    du00000001
    The first PIC cores already existed when ...

    They (microchip) could implement an improved architecture in their modern series.

     
    Nope. There have been incremental changes towards the PIC16 mid-range family, the PIC18s etc, but the customers' request for backward compatibility prevents major changes in an existing architecture.
    Anyway, they developed the 16-Bit architectures PIC24/dsPIC33, that's way more preforming that even the AVR core (at the same clock rate!). So they got it done.
     
     
    pajuhesh80 
    du00000001
    And the PICs got waaayyy better peripherals.

    I agree. This is why I switched to PIC for my recent project. I couldn't find any AVR with all peripherals I needed together.
    (to be honest, not "waaayyy", just "way"! ;) )

    Considering CPI, CLCs and PPS, it's at least 3 a's and 3 y's.
     
     
    pajuhesh80 
    du00000001
    To be completely honest: the PC Visual Something (or whatever their current name is) Compilers are free and absolutely great! Why don't you start programming some fancy PC in asm?

    Sorry but I didn't understand this part; would you please explain more? By PC you mean personal computer or something else? Do you mean I write assembly for my x86 CISC processor?

     
    "PC" = Personal Computer
    And what I wanted to say is exactly "write some fancy assembly software for your x86 CISC processor!"
    (I've done such in the past. My diploma thesis had 300+ kBytes of C source code and 80+ kBytes (fully symbolic) assembly source code attached.)
     
     
    pajuhesh80 
    du00000001
    I could tell you some facts about Atmel no free compiler in the world can ever compensate for.

    ???

    Won't tell you. But it's certainly not positive.
     
    The positive thing to say about Atmel: the microcontroller-based touch evaluation is quite nice.

    PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)
    #9
    Jan Audio
    Senior Member
    • Total Posts : 159
    • Reward points : 0
    • Joined: 2018/09/24 08:12:24
    • Location: 0
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/01 08:32:31 (permalink)
    0
    What can you do for windows that keep updating and no backward compatibility.
    They depend on librarys that handle these things, to keep up and running, easy like a microwave-meal.
    It is there, more you dont need to get moneys in the bank.
     
    Really i would invest effort to make good software for windows, only windows goes to fast.
    With a update or new windows there will be problems that need to be solved fast.
    #10
    Pavel_a
    New Member
    • Total Posts : 1
    • Reward points : 0
    • Joined: 2020/06/22 22:42:20
    • Location: 0
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/01 08:40:07 (permalink)
    0
    >And you should try to send a message at least 10 times in this website to pass "Access Denied" page :-( !
     
    You was very lucky to post your topic.
    I don’t have a such luck, I tried to publish topic for several days, but still have no success in winning over the “Access is denied” message.
    Maybe somebody know about limitations or a secret how to deal?
    #11
    NorthGuy
    Super Member
    • Total Posts : 6228
    • Reward points : 0
    • Joined: 2014/02/23 14:23:23
    • Location: Northern Canada
    • Status: online
    Re: Why Microchip isn't good in software? 2020/07/01 09:22:54 (permalink)
    +2 (2)
    Jan Audio
    Really i would invest effort to make good software for windows, only windows goes to fast.
    With a update or new windows there will be problems that need to be solved fast.



    Java was meant to make software platform independent ...
    #12
    Gort2015
    Klaatu Barada Nikto
    • Total Posts : 3984
    • Reward points : 0
    • Joined: 2015/04/30 10:49:57
    • Location: 0
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/01 12:55:04 (permalink)
    +1 (3)
    An 8bit Z80 is better than a Pic 8bit.
    A, F, B, C, D, E, H, L, IX, IY
     
    You could combine two 8bit registers to get 16bit registers and
    indirect indexing.
     
    vs
     
    1 Accumator.

    MPLab X playing up, bug in your code? Nevermind, Star Trek:Discovery will be with us soon.
    https://www.youtube.com/watch?v=Iu1qa8N2ID0
    + ST:Continues, "What Ships are Made for", Q's back.
    #13
    PStechPaul
    Super Member
    • Total Posts : 2814
    • Reward points : 0
    • Joined: 2006/06/27 16:11:32
    • Location: Cockeysville, MD, USA
    • Status: online
    Re: Why Microchip isn't good in software? 2020/07/01 13:31:06 (permalink)
    +1 (1)
    Don't forget the alternate registers AF', BC', DE', and HL', very useful for context save/restore in ISRs.
     
    I liked the Z80 and worked with it a lot in the '80s and '90s. Of course it was just a CPU that needed external ROM, RAM, peripherals, and glue logic, and when you added them to the circuit the board became rather large and complex, but it was a good solution for its time. And then there was the Hitachi HD64180 and later Z180 which were pretty much microcontrollers. I never much cared for the Intel 8051 and family, or the 8086/8 and subsequent processors that took over the PC explosion.

     
    #14
    Gort2015
    Klaatu Barada Nikto
    • Total Posts : 3984
    • Reward points : 0
    • Joined: 2015/04/30 10:49:57
    • Location: 0
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/01 17:40:50 (permalink)
    0 (2)
    It's been a long time, I wrote an assembler in z80 and then hooked that
    into the Basic interpeter of the computer I was using.
    Similar to inline assembler in C on the pics but shorter.
    Built it into the rem statement.  Rem or '
     
    I would have used the alternative registers.
     
    Still makes you wonder on Microchip's choice to design an inferior cpu.
     

    MPLab X playing up, bug in your code? Nevermind, Star Trek:Discovery will be with us soon.
    https://www.youtube.com/watch?v=Iu1qa8N2ID0
    + ST:Continues, "What Ships are Made for", Q's back.
    #15
    du00000001
    Just Some Member
    • Total Posts : 3850
    • Reward points : 0
    • Joined: 2016/05/03 13:52:42
    • Location: Germany
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/01 19:04:23 (permalink)
    +1 (3)
    Gort2015
    Still makes you wonder on Microchip's choice to design an inferior cpu.

    The venerable PIC1650 was created by GI to cure the shortcomings of their CP1600 CPU core. As it was quite fast and capable for its time, it survived the sale of GI's microelectronics division and went somewhat viral over time when Flash and serial ISP were added. How many MIPS did your beloved Z80 deliver @ 8 MHz ? (The 80 51 was 1 MIPS @ 12 MHz).
    While 1 "I" of a RISC core is certainly worth less than a CISC "I", the PICs performed superior to CISC cores in many applications. Thus their success, whether you like them or not.
    Even ARM faltered in their attempt to replace 8-Bitters with the Arm M0 architecture: comparable performance is about half the price when using a PIC. And interrupt latency of the PICs is hard to rival.
    And don't forget Microchip's peripherals (though their frequent flaws).

    PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)
    #16
    pajuhesh80
    Super Member
    • Total Posts : 88
    • Reward points : 0
    • Joined: 2019/12/08 11:23:37
    • Location: Nowshahr, Mazandaran, Iran
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/02 09:47:28 (permalink)
    0
    Pavel_a
    Maybe somebody know about limitations or a secret how to deal?

    Remove any emoji. Replace all links and pictures with a plain address to them (eg. www.example.com/img.jpg). Maybe it work! :-(
     

    Slow and Steady!
    #17
    Hen
    Senior Member
    • Total Posts : 86
    • Reward points : 0
    • Joined: 2018/10/24 04:01:44
    • Location: 0
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/02 22:46:18 (permalink)
    0
    So, whats your rant really about?
     
    * Bad esthetics
    * Poor longevity
    * Lack of usability
    * Low quality
    * Initial cost
    * Anything else
    #18
    pajuhesh80
    Super Member
    • Total Posts : 88
    • Reward points : 0
    • Joined: 2019/12/08 11:23:37
    • Location: Nowshahr, Mazandaran, Iran
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/02 23:24:20 (permalink)
    +1 (1)
    I agree this thread went a little "off-topic"!
    I'm talking about almost all of them.
    (I said almost because Microchip is very very good in hardware (quality, price,... ); I'm totally talking about software side)

    Slow and Steady!
    #19
    Hen
    Senior Member
    • Total Posts : 86
    • Reward points : 0
    • Joined: 2018/10/24 04:01:44
    • Location: 0
    • Status: offline
    Re: Why Microchip isn't good in software? 2020/07/05 21:44:53 (permalink)
    +1 (1)
    Maybe microchip software is a pain in the mik'da but then again, you pay what you get...
     
    I stepped down from XC8 to MCC18 because I can (at the moment) do better that way.
     
    I almost never use MPLAB IDE but with elderly chips I may look at the binaries via 8.92.
     
    The only MCHP software I use regularly is MPLAB IPE which works fine with PK3 and PK4, never tried to get my PM2 driver to work tho.
     
    BTW, how anoying is the IPE go-full-screen-panic when entering into advanced mode...
    #20
    Page: 12 > Showing page 1 of 2
    Jump to:
    © 2020 APG vNext Commercial Version 4.5