[HN Gopher] A Guide to Pic Microcontroller Paging
       ___________________________________________________________________
        
       A Guide to Pic Microcontroller Paging
        
       Author : Jetroid
       Score  : 17 points
       Date   : 2020-06-13 04:54 UTC (18 hours ago)
        
 (HTM) web link (jetholt.com)
 (TXT) w3m dump (jetholt.com)
        
       | lmilcin wrote:
       | Can somebody explain why anybody would want to put up with PIC in
       | 2020 when ARMs are so cheap and energy efficient and development
       | tools got to a point where you get working toolchain with no time
       | or money expense (for example with stm32cubeide and st-link)?
        
         | analog31 wrote:
         | I was about to say that only PIC chips come in 8- and 6-pin
         | packages, but I see that I'm wrong about that. Microchip's
         | patent must have run out fairly recently.
         | 
         | I gave up on the PIC platform quite some time ago.
        
           | lmilcin wrote:
           | Some STM32s are available in WLCSP packages which are
           | 2.5x2.5mm and have 36 pins.
           | 
           | https://electronics.stackexchange.com/questions/144005/wlcsp.
           | ..
        
           | zokier wrote:
           | ATtinys have been available in 8 pin packages for about 2
           | decades, and in 6 pin packages for 1 decade. What patents are
           | you referring to?
        
         | joshvm wrote:
         | PIC extreme low power (xlp) is ridiculously low - at least an
         | order of magnitude lower sleep current (9nA) than ARM
         | equivalents. They also have very low uA/Mhz, but some ARM chips
         | are approaching or exceeding that (eg SAM L).
         | 
         | There's also something to be said for simplicity and ease of
         | hardware development, as opposed to a race to the bottom on
         | price. Do you necessarily need all that ARM grunt? 8 bit micros
         | tend to need very little support circuitry and can have very
         | low pin counts - eg the PIC10F322 is 6 pin, 20nA sleep current
         | and comes in a DFN package.
         | 
         | There are also applications where having a DIP package chip is
         | useful (easy replacement, for example).
        
         | alex7o wrote:
         | There is no good commercial reason to go with a pic, there are
         | cheaper 8bit MCU s like 0.01$ cheap or even less, or as you
         | said arm ones that are much faster, with free tooling and good
         | JTAG/swd debugging. However there are millions of PICs that are
         | still used so it is useful to know these things.
        
           | m-ee wrote:
           | I haven't looked into the ultra cheap stuff in a while, are
           | you talking about other 8 but mcus from major manufacturers
           | or the ultra cheap no name alibaba stuff? PICs historically
           | have good data sheets which is worth a non trivial amount of
           | money
        
         | joefourier wrote:
         | That's the mentality that leads to toasters running Linux. For
         | many applications there's absolutely no need for ARM MCUs and
         | all their added complexity.
         | 
         | Plus for the hobbyist at home, PIC still comes in DIP formats
         | which is handy for breadboarding or soldering without the added
         | difficulty of SMT.
        
         | zozbot234 wrote:
         | RISC-V will probably be more of a competitor to PIC once
         | suppliers really get going. There's even a standard RV32E spec
         | that's limited to 16 registers, which should make for tiny area
         | footprint even in old process nodes.
        
       | indigo945 wrote:
       | Technically, the second block of code is not 100% equivalent.
       | Why? Well, it uses more instructions (so more memory and
       | also takes longer to execute) but it also sets ALL bits of
       | the Program Counter, not just the ones that a goto or call
       | can.              We could use the second block of code to goto
       | to a correct         page, but it would be annoying to use in
       | practice because it         would mangle the W register.
       | 
       | Does the code even work at all? I don't know anything about PIC
       | microcontrollers, but I would have expected that writing to
       | PCLACH would cause a jump immediately, meaning that the write to
       | the low bits in PCL would never even happen.
        
       ___________________________________________________________________
       (page generated 2020-06-13 23:00 UTC)