Why do you think this professor went from AVR to PIC in his class? - Page 1
Forum section: electronics / general

author: ez24
author_rank: Super Contributor
timestamp: August 16, 2015, 04:13:24 am
content: From 2012 until 2014 Professor Bruce Landhttps://www.youtube.com/channel/UCgpQgWLXEZWSplxs1eB9Gvwhttp://people.ece.cornell.edu/land/courses/ece4760/used AVR micros, and for 2015 he switched to PIC32I assume all were in DIP packages to be used in breadboards.Any theories why he would switch in an academic environment? In 2012 he said that students typically blow 40 chips so the DIP is easy to replace. I think his ATmeg644 (used in 2012) was in 40 pin dip and the ATmega1284 is 40 pins and the PIC32 comes in 28 pins. I wonder if the reason is it is easier to replace a 28 pin DIP vs a 40 pin DIP? I also find it interesting to see that a 8 bit is 40 pins and 32 bit is in 28 pins. I do not know microcontrollers, just thatthere aretwo major players in the field: AVR and PIC.Any other reasons why in an academic environment he would switch from AVR to PIC? I imagine he would have to learn a lot of new things to make the change so there must be a good reason. I just cannot think it is cost.

author: westfw
author_rank: Super Contributor
timestamp: August 16, 2015, 04:45:54 am
content: PIC32 is an "industry standard MIPS" architecture, as well as being 32bits.A lot of schools seem to teach MIPS in their architecture and/or assembler classes. It's pretty straightforward and understandable.(You might think to use ARM, but by the time you're restricted to the "compressed" THUMB instructions (for cortex M), it's no longer nearly as straightforward.)QuoteThat is a VAST over-simplification (starting with: there are three different PIC architectures, and two AVR architectures. Plus multiple vendors worth of 8051 and ARM that should be considered, at the minimum.) Atmel and Microchip are just the two vendors who have attracted the most "hobbyist" interest.

author: c4757p
author_rank: Super Contributor
timestamp: August 16, 2015, 04:48:33 am
content: Yes, my first guess would also be that they are using MIPS elsewhere and wanted to standardize on an architecture. MIPS is really common academically, both of the schools I've been to used it quite extensively.

author: Bruce Abbott
author_rank: Frequent Contributor
timestamp: August 16, 2015, 07:18:11 am
content: Quote from: westfw on August 16, 2015, 04:45:54 amNot quite true. Renesas is the top manufacturer of MCU's overall, but Microchip is definitely a major player (rated 4th in 2014) and so was Atmel until a few years ago.OK, so Microchip and Atmel aren't the top 2 sales-wise, but does that mean they aren't "the major players in the field"? Depends what field you are talking about. I bet that far more developers (not just "hobbyists") are using Microchip or Atmel than Renesas.BTW Microchip is the king of 8 bit.Microchip Reclaims Top 8-bit Microcontroller Revenue RankingQuoteBut 8 bitters are only a small segment of the market, right?Wrong!Quote

author: andersm
author_rank: Super Contributor
timestamp: August 16, 2015, 08:18:38 am
content: Quote from: Bruce Abbott on August 16, 2015, 07:18:11 amRenesas basically don't exist in hobbyist circles, at least in the west. In Asia, they have eg. their ownArduino clone, but outside of a few half-hearted attempts at cheap starter kits they just don't seem interested to push their products over here.We can only speculate behind the reason for the switch. The MIPS architecture is used a lot in education, not least due to the almost industry-standard computer architecture textbooks by David Patterson and John Hennessy. It may also be because the school got a good deal on boards and other equipment from Microchip.

author: westfw
author_rank: Super Contributor
timestamp: August 16, 2015, 08:46:04 am
content: QuoteSubtle semantics. I didn't mean to imply that Atmel and Microchip aren't AMONG the major players in the field, I just object to them being labeled THE major players in the field.I should have been more careful; I've seen people who seem to believe that Atmel and Microchip service ONLY hobbyists, which is simply not true.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: August 16, 2015, 08:55:18 am
content: Academia is a completely different world to industry, reasons for selecting parts are completely different.My guess is they wanted to move to 32 bit, and PIC32 is the only 32 bit range of any significance available in DIP, which makes breadboarding easy and cheap. It also has a decent on-chip RC osc, so fewer parts needed on a breadboard.It may also be that Microchip donated parts and devtools.I doubt architecture had much to do with it (other than being 32 bit).

author: tszaboo
author_rank: Super Contributor
timestamp: August 16, 2015, 09:51:38 am
content: Quote from: mikeselectricstuff on August 16, 2015, 08:55:18 amI've seen a lab in a university, which was donated entirely by Microchip to the university. Including the computers and the projector, and like 200 development boards. They also made scholarships for the students and conferences for anyone free of charge in the lab. This is a very good reason to teach on their devices. Makes total sense for them, the total cost is marginal, and hundreds of people (big university) every year familiarize themselves with their products. Best ad campaigns.

author: gmb42
author_rank: Frequent Contributor
timestamp: August 16, 2015, 11:38:33 am
content: And selected excerpts from this years McClean Report (http://www.icinsights.com/news/bulletins/Microcontroller-Sales-Regain-Momentum-After-Slump/)Quoteand where do all those MCUs end up (somewhat surprisingly to me at least):Quotemy add emphasis.

author: madires
author_rank: Super Contributor
timestamp: August 16, 2015, 12:14:16 pm
content: Quote from: andersm on August 16, 2015, 08:18:38 amFreescale is another one unknown in the hobbyist market. About 20 years ago I've played with 68HC11 (asm) and 68332 (C) at the university. 68HC11 was THE 8 bit MCU back then.

author: amyk
author_rank: Super Contributor
timestamp: August 16, 2015, 12:43:03 pm
content: I agree with everyone here that academics seem to love MIPS. Personally I don't really get it, sure it's simple but I think it's a bland and boring architecture compared to the rest.NXP has some ARMs in DIP too (LPC series).

author: timb
author_rank: Super Contributor
timestamp: August 16, 2015, 12:46:39 pm
content: Don't forget the MSP430, which is also available in DIP, and has cheap as dirt dev boards (plus an Arduino compatible IDE called Energia)! Also, they're 16-bit.Sent from my Tablet

author: andersm
author_rank: Super Contributor
timestamp: August 16, 2015, 12:55:41 pm
content: Quote from: madires on August 16, 2015, 12:14:16 pmJudging by old issues of Elektor, the HC11 and HC12 were pretty popular back then. Freescale have had a slight resurgence with the Kinetis Freedom boards.Quote from: amyk on August 16, 2015, 12:43:03 pmMIPS came from academia. John Hennessy, now president of Stanford University, headed the research project that begat the MIPS architecture, and was one of the founders of MIPS Computer Systems. It is also a very simple architecture, which makes it useful as a teaching tool.

author: coppice
author_rank: Super Contributor
timestamp: August 16, 2015, 01:02:38 pm
content: Quote from: madires on August 16, 2015, 12:14:16 pm20 years the biggest volume MCU family from Freescale was the HC05.

author: madires
author_rank: Super Contributor
timestamp: August 16, 2015, 01:11:08 pm
content: Quote from: mikeselectricstuff on August 16, 2015, 08:55:18 amThat seems to be the most compelling reason. But abandoning the 8 bit MCU might be a little bit too early. It's also a good starting point for teaching MCUs. Possibly just a prejudice, I'm a little bit afraid that we'll get more bloatware developers.

author: madires
author_rank: Super Contributor
timestamp: August 16, 2015, 01:23:17 pm
content: Quote from: coppice on August 16, 2015, 01:02:38 pmSure, HC05 was commonly used for control boards and such stuff. The HC11 together with the 68HC24 was more interesting.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: August 16, 2015, 03:24:40 pm
content: Quote from: madires on August 16, 2015, 01:11:08 pmThe problem with teaching on small MCUs is you quickly hit limits that need working around. 8 bit C compilers often have various non-standardnesses to work around with limitations.PIC32 with the Microchip tools isn't really much more complicated to get into, than 8 bit, and very easy to migrate to from 8 bit as many of the peripherals are very similar and the IDE and programmers are the same.e.g. the linker by default is set to just work if you don't have an explicit linker script , until you start messing with bootloaders you don't even need to know it exists.Similarly with a single #include <xc.h>, the compiler automatically pulls in the device-specific includes based on the IDE's part type setting.This makes the process of getting up & running with a part very quick & easy.The only fiddly bit comes when you start using peripherals & need to do the pin mapping stuff, but most modern MCUs have that in some form.

author: nctnico
author_rank: Super Contributor
timestamp: August 16, 2015, 08:03:36 pm
content: Quote from: ez24 on August 16, 2015, 04:13:24 amProbably because 8 bit is ancient and 32 bit is the future. I assume Microchip has provided the materials for free because there are so many better choices out there with an ARM cpu. Having a DIP package available doesn't seem logical to me because you'll still need decoupling and a good layout for it to work. Putting a microcontroller running at tens of MHz in a breadboard is just asking for problems.

author: IanB
author_rank: Super Contributor
timestamp: August 16, 2015, 08:31:35 pm
content: Quote from: amyk on August 16, 2015, 12:43:03 pmSurely this is a strong positive from the point of view of engineering? Sound engineering should emphasize simplicity, not complexity. There's nothing worse than an engineering project where the designers have decided to make it "interesting".

author: Howardlong
author_rank: Super Contributor
timestamp: August 16, 2015, 08:57:25 pm
content: Quote from: nctnico on August 16, 2015, 08:03:36 pmThat's my bread(board) and butter: pretty much every day I'm breadboarding something new, and as counter intuitive as it may seem, breadboarding 50MHz PIC32 MIPS (fastest you can go in DIP) is simplicity itself as long as you are sensible. That means decoupling caps adjacent to the power pins, on breadboard regulators, short high speed connections, plenty of attention to power decoupling and distribution, etc. Even the crystal oscillator and full speed USB work fine when breadboarded.Remember that the maximum speed outside of the chip is rather less than 50MHz, all the high speed stuff is on the die, but I've also had no problem breadboarding 140MHz clocked PIC24s and dsPIC33s too. Running 20MHz SPI breadboarded on a PIC32 MIPS isn't a problem for example.I do agree though that unless reasonable care is taken, you are indeed asking for trouble, but it's not at all hard once a few key considerations have been addressed.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: August 16, 2015, 10:28:30 pm
content: I lash up sketchy breadboards all the time with DIP PIC32's at 48MHz (The on-chip PLL runs at 96MHz) , throwing out SPI data at 24MHz and lots of IO toggling, never had an issue. The only thing that upsets it is forgetting the Vcore decoupling cap, and if that's missing it won't even program, so fairly obvious.

author: free_electron
author_rank: Super Contributor
timestamp: August 16, 2015, 10:32:08 pm
content: - freebies.Microchip is very good for academia with handing out free stuff.- MIPS architecture, which is one of the big standards ( together with ARM ) as opposed to closed vendor architectures like PIC and AVR

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: August 16, 2015, 10:58:03 pm
content: Quote from: free_electron on August 16, 2015, 10:32:08 pmThough as with industry, for practical work in education the core architecture doesn't really matter. Having something that's affordable (free is good), readily available, easy to get started with (both SW and HW) and has plenty of resources, examples etc. is more important.If anything it would be better to each theory on one (or ideally more than one) architecture and practicals on another to add some variety.

author: ez24
author_rank: Super Contributor
timestamp: August 16, 2015, 11:50:22 pm
content: OP response:QuoteI do not know what MIPS is so I need to read up on it. Maybe 32 looks better than 8 on a course description so the school may have put pressure on him to change.QuoteThe prof said that Atmel donated stuff so I assumed Microchip did also. Unless Microchip donated other equipment like scopes - I think this is a draw.QuoteI think these are the answers. In his AVR class he talks about the crystal and students can change it and remove it, so he warns students to check it before each lab. I assume the PIC32 does not use a crystal.QuoteI am impressed.QuoteHe uses thishttp://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=DM330013-2I assume the Microstick II takes care of the decoupling problems ?Quoteanother good reasonQuoteIs this on the Microstick II ? or would I have to add one on the breadboard?Thanks for all the good answers.

author: MT
author_rank: Super Contributor
timestamp: August 17, 2015, 12:31:40 am
content: Noone remebers the Z80, once akademias lover boy and the most sold 8bitter in the world!Anyho, i would be interessted to know what the professor will chose 10years time, about 2025!2025 sound so futuristic!:)

author: legacy
author_rank: Super Contributor
timestamp: August 17, 2015, 01:24:26 am
content: a lucky day was the day I got my "Atlas board" from ebay. It's a professional evaluation board forMIPS32R2, also equipped with a pretty FPGA and EJTAG. I was lucky and I got one for 250 USD. I was a student, and I had 2 examinations about architectures plus4 laboratories. We had to study how the pipeline works in details. What I think? This is part of the success of MIPS in academy, for the theory, while Microchip has thought about the practice: cheaper boards, 1:10 of what I payed, smaller and more confortable.

author: legacy
author_rank: Super Contributor
timestamp: August 17, 2015, 01:27:50 am
content: Quote from: MT on August 17, 2015, 12:31:40 amumm a GameBoy from '90, with thiscartridge

author: Bassman59
author_rank: Super Contributor
timestamp: August 17, 2015, 01:28:44 am
content: Quote from: amyk on August 16, 2015, 12:43:03 pmI think that if you're teaching architecture, bland and boring makes a lot of sense. Add complications later, but make sure that the students understand the basics first.

author: Bassman59
author_rank: Super Contributor
timestamp: August 17, 2015, 01:30:20 am
content: Quote from: madires on August 16, 2015, 12:14:16 pmThey're not interested in small companies, either. "How many thousands are you buying a month?" is the first question they ask when engaging a potential customer.

author: westfw
author_rank: Super Contributor
timestamp: August 17, 2015, 02:41:56 am
content: QuoteWas it? I went to school back in the z80 heyday (77-81), and while the "lab computers" were all Z80 CP/M machines, the "Assembly language" class taught IBM360 and PDP11, the "Microprocessor" class taught 6800, and the senior EE class used Intel X86 development boards (too bad that hardly any of the EEs had learned to program, beyond their first year Fortran and Numerical Methods classes.)Zilog still exists. And some of those "not popular for hobbyists" Renesas chips are essentially Z80s with bells, whistles, and kludges attached...

author: Tainer
author_rank: Contributor
timestamp: August 17, 2015, 04:54:09 am
content: Quote from: ez24 on August 16, 2015, 04:13:24 amHe already answered this question on HaD.https://hackaday.io/project/762-teaching-microcontroller-design

author: Howardlong
author_rank: Super Contributor
timestamp: August 17, 2015, 05:23:46 am
content: Quote from: ez24 on August 16, 2015, 11:50:22 pmEverything you need to get started is on the board including a debugger similar in features to the PICKit 3.The only thing lacking are physical peripherals like LEDs, buttons, pots etc. which are meant to be on your breadboard.Here's an asteroids game I did on a Microstickhttp://youtu.be/BXOHyjeLAXMbut note that the PIC32 doesn't have DACs, this was done with a PIC24. You'd have to use a couple of PWM outputs with RC LPFs to do this on a PIC32.

author: ez24
author_rank: Super Contributor
timestamp: August 17, 2015, 06:05:33 am
content: QuoteHis answers:- Easier to teach. (I didn't see this one coming)- PIC32 is a 32-bit M4K MIPS core with good peripherials. It is simple enough to be programmed 'bare metal', but gives a factor of 10 performance increase over AVR.Thanks TainerI hate to ask this (because it will show how stupid I am but..) what does he mean by "good peripherals" ? What does "bare metal" mean?thanks for educating a 68 yo with many dead brain cells.My goal in life is to finish Lab 1

author: andersm
author_rank: Super Contributor
timestamp: August 17, 2015, 06:09:43 am
content: "Bare metal" means poking the hardware registers directly, without an operating system or other driver or abstraction layer in between.

author: Howardlong
author_rank: Super Contributor
timestamp: August 17, 2015, 06:27:27 am
content: Quote from: andersm on August 17, 2015, 06:09:43 amI guess he's avoiding the dreaded Harmony framework then!(Harmony is Microchip's "holistic, aggregate approach to creating firmware solutions for embedded systems using Microchip PIC32 microcontrollers", there, now you know. It was first released nearly two years ago and is a framework for abstracting the hardware from the app code. Unfortunately it is often derided as being excessive in its utopian goals, leading to bloated code, using much machine written write-only code, and being a couple of abstractions too far for low end 32 bit microcontroller applications. It's also hellish difficult to pick up.)

author: ez24
author_rank: Super Contributor
timestamp: August 17, 2015, 06:40:00 am
content: QuoteI saw "Harmony" before but was really afraid to ask any questions about it - I thought it had something to do with music but I was guessing I was wrong.

author: Tainer
author_rank: Contributor
timestamp: August 17, 2015, 07:17:50 am
content: Quote from: ez24 on August 17, 2015, 06:05:33 amEasier to tech in comparison to ARM Cortex architectures (which is absolutely true).Nevertheless, why don't you ask Bruce Land himself? I'm pretty sure he will give a better answer than any of us regarding his decision

author: Psi
author_rank: Super Contributor
timestamp: August 17, 2015, 07:23:20 am
content: Yep, moving from AVR(mega/tiny) to a PIC(PIC32) can't be interpreted as a fanboy "PIC WINs" argument.Since a 32bit PIC is obviously better than a 8bit AVR.Now, had he moved from a ATMega328 to a PIC10 you could slap him about the head and say "WTF".

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: August 17, 2015, 07:55:59 am
content: Quote from: ez24 on August 16, 2015, 11:50:22 pmMost MCUs can be run without a crystal, using an internal oscillator, the difference is that on more modern ones like PIC32, the internal oscillator is accurate enough for many applications (around 1% from memory), whereas the AVRs have historically had pretty ropey ones (looked at newer AVRs, this may have improved)QuoteYes - any devboard will include the essential parts for basic operation

author: amyk
author_rank: Super Contributor
timestamp: August 17, 2015, 01:17:34 pm
content: Quote from: IanB on August 16, 2015, 08:31:35 pmI think it'stoosimple of an architecture, so the complexity just ends up in the software instead. What ends up being a single instruction on other architectures (e.g. "bcf PORTB, 1") turns into several on MIPS. They even had to add extra registers for clearing, setting, and inverting bits to compensate.

author: legacy
author_rank: Super Contributor
timestamp: August 17, 2015, 01:36:25 pm
content: well, from the point of view of the assembly-programming, the architecture with the best productivity/complexity, when you do assembly by your own hands instead of C compiling something, isMotorola 68000Unfortunately from the point of view of ISA ... it makes you to cry a lot if you want to create a68000-softcorein VHDL (too bloated and complex, 2000 orders more complex than R2K)A computer science course is a trade off of different things, so we had M68K in our assembly laboratory, andMIPS R2K(with/without the pipeline) in our laboratory of architectures (FPGA programming, digital design).That is good for the theory, for the practice, embedded C programming, real world interfacing and controlling, e.g. PID, motor speed, SERVO, greenhouse … whatever, thenPIC32is the best choice.

author: MT
author_rank: Super Contributor
timestamp: August 17, 2015, 03:49:23 pm
content: Quote from: westfw on August 17, 2015, 02:41:56 amIn the US yes but here no, i think it depends on regions and countries and even from skool to skool, 1980-1984 it was all Z80 for us and few8031 and 6800. Our lab and devboard computers was all Z80, Sinclair Spectrums was very popular as home computers as well as 6502.Yes its amazing Zilog is still around who could have tought that!

author: FrankBuss
author_rank: Unknown
timestamp: August 17, 2015, 04:18:12 pm
content: Quote from: ez24 on August 17, 2015, 06:05:33 amThat's all the hardware modules to the outside the chip has, like integrated serial port (UART), SPI, I2C, ADC, DAC etc.

author: Howardlong
author_rank: Super Contributor
timestamp: August 17, 2015, 04:44:34 pm
content: Quote from: FrankBuss on August 17, 2015, 04:18:12 pmNo DACs on any PIC32s I'm afraid, but yes, in general they are pretty choc full of peripherals, for such a low pin count 32 bit device in DIP. Whether you'd want to attempt to directly bare metal program things like the USB peripheral yourself is another matter though.

author: andersm
author_rank: Super Contributor
timestamp: August 17, 2015, 05:17:49 pm
content: Quote from: MT on August 17, 2015, 03:49:23 pmSorta, kinda. They've gone bankrupt, and been bought and sold several times. I wonder how much of the "old" Zilog still remains within the company.

author: ez24
author_rank: Super Contributor
timestamp: August 17, 2015, 06:43:05 pm
content: Quote from: FrankBuss on August 17, 2015, 04:18:12 pmThanks

author: JoeO
author_rank: Frequent Contributor
timestamp: August 17, 2015, 08:32:38 pm
content: $

author: Quarlo Klobrigney
author_rank: Super Contributor
timestamp: August 20, 2015, 10:55:07 pm
content: In my day the 90S1200 was good enuf and we liked it like that. Who needs a stack. I don't need no newfangled extra bits. 8 was and still is good enuf.And by the way the last post is correct, for the $$$$Atmel has 32 bit stuff in TQFP that could be mounted on a Chinese adaptor or ordered that way.

author: jesuscf
author_rank: Frequent Contributor
timestamp: August 24, 2015, 05:49:49 am
content: > used AVR micros, and for 2015 he switched to PIC32> I assume all were in DIP packages to be used in breadboards.> Any theories why he would switch in an academic environment?My guess:1) The PIC32 is half the price of the Atmel chip.2) Cut on students 'recycling' labs code from previous years.

author: Brutte
author_rank: Frequent Contributor
timestamp: August 24, 2015, 08:44:47 am
content: PIC32 programming and debugging can be made with PICKit2 so (for example under Eclipse) you get essentially all the toolchain for free, no code size limits etc. PICKit2 is one of the cheapest dev tools on the market (that is PIC18F2550 + 4 bjts + crystal) and can not only program and debug PIC8 but also ISP program AVR8 chips. Although not explicitly stated - supplying a school laboratory with PICKit2 + a bunch of PIC8 and PIC32 would cost a fraction of comparable functionality AVR8 set.

author: MarkF
author_rank: Super Contributor
timestamp: August 24, 2015, 01:08:18 pm
content: Quote from: Brutte on August 24, 2015, 08:44:47 amJust to be clear. The PICkit 2 can only program a small number of PIC32 microcontrollers. The PIC32MX250F128B is NOT one of them. See the PICkit 2 device list. You would be better off with the PICkit 3 for programming the newer microcontrollers.

author: Karel
author_rank: Super Contributor
timestamp: August 24, 2015, 01:17:09 pm
content: Quote from: MarkF on August 24, 2015, 01:08:18 pmBut the PICkit 3 is slooooow when programming pic32's. For real/professional work you have to use the ICD3 which is much faster but also much more expensive.No problem for companies but could be a problem for students.

author: FrankBuss
author_rank: Unknown
timestamp: August 24, 2015, 01:28:18 pm
content: Quote from: MarkF on August 24, 2015, 01:08:18 pmThis is only true if you use the MPLAB X IDE. Withpic32progyou can flash devices with a PICkit 2 which you can't with MPLAB X, so it is not a hardware limitation, but they crippled their software intentionally to sell their PICkit 3.

author: andersm
author_rank: Super Contributor
timestamp: August 24, 2015, 01:45:42 pm
content: Quote from: FrankBuss on August 24, 2015, 01:28:18 pmStopping adding new part support is not the same as "crippling".

author: Brutte
author_rank: Frequent Contributor
timestamp: August 24, 2015, 03:13:56 pm
content: Quote from: MarkF on August 24, 2015, 01:08:18 pmThat is inconceivable! Also AVRs weren't mentioned on their listNow, being serious, here is a recentejtagproxy Readme.Quote+1. Although it would be nice of them if they provided some API for adding new devices to their programming GUI.. Consider Microchip "no" policy when buying their tools.

author: Ian.M
author_rank: Super Contributor
timestamp: August 24, 2015, 03:42:20 pm
content: Microchip's final official release of the device file (1.62.14) for the PICkit 2 standalone application supported 17 PIC32MX devices, but PICkit 2 support for the same devices under MPLAB was never added although at the time they were already supported with a PICkit 3 or an ICD2 or 3. Similarly, MPLAB X beta supported the ICD 2, but that was totally dropped from the final release.Its one thing to freeze support for legacy hardware tools, but quite another to actively remove support for them. If you have all the software components available to support a part but choose not to, the difference between 'stopping adding new part support' and 'crippling' is so fine that to most of us its imperceptible.

author: MarkF
author_rank: Super Contributor
timestamp: August 24, 2015, 04:01:02 pm
content: I am talking about the Standalone PICkit 2 GUI (PICkit2V2.exe) provided by Microchip. Not MPLAB X IDE.It uses a binary device file to control the programming.New devices have been added by users using the PK2Device Editor written by dougy83@gmail.com The latest user device file I have is version 1.63.148 with a minor change found in a forum that I added.As stated, the MPLAB X IDE uses a different mechanism for the PICkit 2 and newer devices can't be added.I was unaware of the pic32prog program.Here's the list of supported PIC32s:PIC32MX320F032HPIC32MX320F064HPIC32MX320F128H PIC32MX320F128LPIC32MX340F128H PIC32MX340F128LPIC32MX340F256HPIC32MX340F512HPIC32MX360F256LPIC32MX360F512LPIC32MX420F032HPIC32MX440F128H PIC32MX440F128LPIC32MX440F256HPIC32MX440F512HPIC32MX460F256LPIC32MX460F512L

author: MT
author_rank: Super Contributor
timestamp: August 24, 2015, 04:54:02 pm
content: MCHP could go the ST Discovery/Nucleo route and start doing loads of cheap Microsticks all then way instead of this Pickit 2/3 nonsense if they wanted to!

author: Brutte
author_rank: Frequent Contributor
timestamp: August 24, 2015, 05:08:52 pm
content: Quote from: Ian.M on August 24, 2015, 03:42:20 pmThe easiest way for the vendor to validate the "no" policy is to (Atmel's version)"Because of hardware limitations of this tool ... 200$ upgraded new version, thank you".Or alternative Microchip version (paraphrasing MarkF):Quote

author: Bruce Abbott
author_rank: Frequent Contributor
timestamp: August 24, 2015, 05:26:06 pm
content: Quote from: FrankBuss on August 24, 2015, 01:28:18 pmA great little program, simple to use and it 'just works'. A few days ago I got my first PIC32 chip (an MX150F128B). With pic32prog I had it running on a breadboard in under 10 minutes (hardest part was the wiring!). To save typing I added the line "pic32prog ${ImagePath}" to end of build in the project properties in MPLABX - now I have '1-Click' compile and program in 15 seconds.QuoteNot so much 'crippled' as just dropped support. Microchip supplies full source code for the PICkit2, so it can be updated forever if anybody can be bothered. Thathas been done for the PIC32MX250F128B.

author: ez24
author_rank: Super Contributor
timestamp: August 24, 2015, 06:00:32 pm
content: QuoteThe class uses a Microstick II with the DIP chip. I do not know the difference between it and the PICkit. I think I will make a list of all the "kits" and software Microchip sells and ask someone to explain it all.I bought a Microstick II because I thought the course was going to be posted on YT (now I am sure it will not be). Since I know NOTHING about this, I hope to get a LED to flash in a year.Before I even take it out of the box, I have run into problems and will post a new topic on it.The Microstick II uses MPLAB C IDE see this info sheethttp://ww1.microchip.com/downloads/en/DeviceDoc/51951B.pdf

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: August 24, 2015, 07:53:07 pm
content: the microstick ii has programmer built in. I think all pins exposed to headers except the oscillator and maybe the power pins. (been a while since I poked the microstick ii, its a nice simple little dev board for the pic32)

author: zapta
author_rank: Super Contributor
timestamp: August 24, 2015, 08:24:19 pm
content: Quote from: MT on August 17, 2015, 03:49:23 pmThey are not attractive enough to get acquired

author: Howardlong
author_rank: Super Contributor
timestamp: August 24, 2015, 08:35:27 pm
content: Quote from: ez24 on August 24, 2015, 06:00:32 pmThe PICkit 2 and 3 are just debuggers, the Microstick II (and all Microsticks) include a debugger on board together with the target device which is socketed.Let us know the problems you're having, we might be able to help. I'm not affiliated to Microchip in any way, but I do use their products pretty extensively.

author: westfw
author_rank: Super Contributor
timestamp: August 26, 2015, 07:39:54 am
content: QuoteI mentioned that the Z80 architecture also lives on in some of the Renesas chips (probably via NEC who used to be a Z80 second source.)I haven't actually used one of these, but I read through enough of the documentation to have a distinctively bad feeling about how desirable it might be to extend a fundamentally 8-bit architecture to 32bit ALUs with large amounts of memory, code space. Renesas is perhaps the most successful company to try this, although you can see plenty of this in other 8bit architectures that have been stretched beyond the point where someone should have stopped. PIC (8bit), MSP430, and AVR all start to get pretty annoying when you start looking at the "extended memory" models. You can attach a bank-switching scheme to just about anything, but that doesn't mean you shouldn't start looking at true 32bit cpus instead...

author: Howardlong
author_rank: Super Contributor
timestamp: August 26, 2015, 07:55:04 am
content: Quote from: westfw on August 26, 2015, 07:39:54 amWhile that's true, when programming C on the PIC16 using XC8, the bank switching is hidden from the programmer. That's good and bad, good that the programmer doesn't usually have to worry about it, but bad in that the programmer is pulled away from the implementation details and cares less and less about performance. We've seen that on desktop and server software over the past couple of decades as distributed non-deterministic systems have become the norm, relying on stochastic performance measurement after the event, not at the point of design and implementation, because to model it is simply too complex or the individual unit performance metrics simply don't exist. Embedded systems very often can't work that way, guaranteed performance usually isn't an optional feature.One reason why the PIC16 is still hugely popular include the vast and continually expanding range of peripherals often taking work away from the core, and thus reducing power consumption. In some implementations, the core can sleep while the peripherals take care of the work (SMPS for example), only to wake for initialisation and mode changes or exception handling.

author: westfw
author_rank: Super Contributor
timestamp: August 26, 2015, 08:54:32 am
content: QuoteReally? What's the maximum size of an array or other contiguous RAM data structure? Doesn't the presence of SFRs in each data bank really mess that up? (One of the things that was greatly improved in PIC18, IIRC?) (Although, I'm talking more about the issues that happen when systems break a 64k limit, rather than the relatively minor issues associated with the PIC's 2k code pages. IIRC, PICs don't go there, and have some pretty strong limits on total RAM size as well. (Yea for Microchip having a better grasp of the limits of their architecture than some other vendors!)And in any case, it places an extra burden on the compiler (the real reason for RISC: "let's make things easier for compiler writers!"), so avr-gcc and msp-gcc both get relatively obnoxious trying to deal with "extended memory" versions of their respective chips, and have other restrictions (or "bugs.")

author: Howardlong
author_rank: Super Contributor
timestamp: August 26, 2015, 11:37:12 am
content: I think our sentiments are in general agreement. XC8 for example deals with large data structures using the FSR(s) rather than bank switching, so an additional level of complexity is introduced by the compiler to hide the mess underneath. And yes, I agree, sometimes the compiler refuses to generate code. I would say though that if you are using large data structures other than simple arrays on PIC16 it's probably not the right device for you anyway, as you say the RAM on PIC16s is pretty small in general. Apart from specifically generating a case to force this on PIC16, I can't remember recently encountering this as a problem in a real project.I remember dealing with some of the early PIC16 and PIC18 compilers 10 or 12 years ago where you had to deal with the bank switching and memory allocation completely manually yourself, which was pretty time consuming, and as your project grew you found yourself having to juggle data structures around several times to make objects fit into the various RAM banks, it wasn't pretty.

author: Ian.M
author_rank: Super Contributor
timestamp: August 26, 2015, 01:38:56 pm
content: XC8's effective array/object size limit on the 'classic' midrange (PIC16Fxx/xxx) core is the lesser of available RAM in one bank or 80 bytes, as more than that cant be fitted in one bank without stomping on the 16 byte shared (unbanked) area. The enhanced midrange (PIC16F1xxx) core also maps all its banked RAM contiguously higher up the memory map so this restriction is removed