RE: Learning PIC on the job
Chen Xiao Fan <[email protected]>
| Newsgroups | gmane.comp.hardware.microcontrollers.gnupic |
|---|---|
| Message-ID | <3B8AEFFADD3DD4118F8100508BACEC2C07F7747B@spex> |
As you know I disagree with you on the choice of chips and programmers for new beginners. :) Never mind, let me explain in more details. 1) Chips of choice: The new trend is that all the new 16F chips are standard flash and does not support bootloader. They are supposed to be the main stream PIC16F chips in the near future. In terms of price, they will be the cheapest PICs. So I will recommend the new 8/14/20 pins of cheap PICs to new beginners than big 16F88 or 16F87xA. Paging is a pain. Of course, 18F is a good choice as well if price is not a problem. dsPICs may be too new to use. 2) Porgrammer of choice: I will recommend PICkit 1 as the choice for absolute beginners and Wisp 628 (or PICkit 2) as the choice for the other beginners. ICD2 may be for those who want to work with dsPICs but the problem is that it does not support right now. 3) Why I am against the use of JDM/Tait? I am not against the idea of using bootloader if it is supported by the chip used. I like to use bootloaders if possible, e.g. for 18F USB and dsPICs. I am against the idea of using JDM/Tait or similar. A newbie will be much more likely to fry a raw PIC with JDM/Tait (even the PC ports) because of the inadequate protection. Unfortunately for legacy reasons, there are too much obsolete information on the Internet for 16F84 and JDM. I read too much reports of difficulities with JDM type of programmers in various forums. 4) To build or to buy? Expensive or cheap is subjective. If time is more expensive, then PICkit 2 or the fully assembled Wisp628 may be well worth the money. If people think PICkit 2 or fully assembled Wisp628 is too expensive, they can build one as well since all the information are there. For me this is not a chicken and egg problem. A lot of the people has mentioned this, why not leave the programmer developing to those experts or pros? Why burden newbies with the task of building a programmer (sometimes frustrating)? Of course it they consider it as a good exercise, I have no objections. Then build a proper one. 5) Basic Stamp If one can afford to use a Basic Stamp, why not buy a PICkit 1/2/Wisp628? I do not know much about Basic Stamp but I think it is only popular because of the HLL. I even think that it is again a legacy product like 16F84 IMHO. Still I have no experience and I can be totally wrong here. 6) "I beg your pardon, how to mimic the desktop computer?" By the way, I do not understand that to mimic the way how a desktop computer works to the low end embed PIC world be appropriate. But I do not know what exactly do you mean by "mimic". One does not need to know how a Pentium works before doing programming. One does need to know how a PIC works before doing programming, even only for blinking a LED. 7) This is just my two cents. I am not a pro myself. So far I've only worked with 12F/16F (all <=2k words so no paging) at work. I am only starting to mess with 18F4550 USB and dsPICs from a hobbyist's point of view quite recently. So maybe my opinions are more appropriate for new beginners than a pro. still this is only my two cents. Regards, Xiaofan -----Original Message----- From: Byron A Jeff [mailto:[email protected]] Sent: Tuesday, August 16, 2005 9:58 AM To: [email protected] Subject: Re: [gnupic] Learning PIC on the job As you know I disagree. I think it's wrong to peg newbies as dumb or stupid simply because they have a lack of knowledge on a subject. Simply explaing to them in clear language what to do and most of them get it. For example traditional programming vs. bootloaders. Simple analogy: Imagine if every time you wanted to install a new program on your computer you had to open the case, remove the hard disk, put the hard disk in a special machine to load the software, then reverse the process. Further imagine that you had to do this each and every time you wanted to change the software on your computer. This is analogous to the traditional programming process for a microcontroller. A bootloader works like a BIOS. It's a program that's in your computer that can load other programs. Now PIC chips come to you completely blank. So you use the traditional programmer to put the bootloader onto the chip. From then on the chip can load programs for itself. Each method has its advantages and disadvantages. Traditional programmers work with blank chips. Traditional programmers also use no resources on the chip such as memory or I/O pins. Bootloaders can give you a lot of flexibility. There are bootloaders that wiggle the MCLR pin in a special way to program the chip for example. However by definition they must occupy some memory space in order to operate. Also you have the chicken and egg problem of getting the bootloader onto the chip in the first place. But at the end of the day bootloaders mimic the software installation processes of the computers we use every day. And frankly mirroring a known process is simpler for a new user than an unfamiliar one. BTW why do you think that a newbie is any more likely to fry a raw PIC as opposed to a bootloaded one? The fact of the matter is that lots and lots of newbies got started using the Basic Stamp, which had a serial EEPROM bootloader coupled with a simple HLL interpreter. > > I will recommend Wisp 628 and PICkit 1 now for beginners. So you have to get two programmers? Or is it one or the other? > Later I will recommend PIckit 2 after we get it to work with > Linux. And so a newbie will have to plunk down $50 just to get started? And for this you get 1 part (16F690), a pot, some LEDs and a programmer? Seems pricey to me to pay for convenience. Then on top of that any Linux person will have to wait until Mchip gets around to releasing the protocol to talk to the programmer. Hmmm. BAJ