Searching \ for '[PIC] new to PICs, need programming advice' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: techref.massmind.org/techref/microchip/devprogs.htm?key=programming
Search entire site for: 'new to PICs, need programming advice'.

Exact match. Not showing close matches.
PICList Thread
'[PIC] new to PICs, need programming advice'
2006\07\19@214610 by Thomas Lockney

picon face
I'm new to the world of PICs (aside from having read about how great
they are for years, anyway :) and am looking for some advice on the
best way to get started. I've tried reading the FAQ, but I'm it's not
exactly clear on some things.

First, let me state that I run Linux primarily, though I do have
access to Windows (through VMware -- and, yes, this does give me
direct access to the serial and parallel ports). My preference is
towards having options to work in both environments.

So, that said, I have a handful of PICs (18F458, 16LF84A and 16LF870)
and I'm trying to figure out the simplest, barebones (if necessary)
way to get started programming them without having to buy a premade
programmer. It seems to me that I should be able to throw together
some components on a breadboard and get started with next to nothing
from what I've read, but I can't find instructions that directly tell
me so. I've seen a lot of simple programmers out there, but it seems
that a number of them require some form of bootstrapping (because they
use a PIC themselves) or they are for a specific chip that isn't one
of those listed above.

I think a lot of my confusion is likely simply misunderstanding. I'll
ask a few specific questions and then ask for some general advice:

1. Is a programmer designed to work with a 16C84 able to work for the
16LF84A or even 16LF870?
2. Is this (http://www.jdm.homepage.dk/easypic.htm) just too good to be true?
3. Will the JDM design (http://www.jdm.homepage.dk/newpics.htm) work
for any of the above PICs? Based on the one SparkFun sells it looks
like I should be able to use it with all my chips.
4. What programmer software is recommended for Linux?
5. Does anyone know of a PIC C environment that works with the Eclipse IDE?
6. What books do people recommend that are still pretty current (the
ones I've browsed at the bookstore often seem to be pretty old)?

I hope I haven't gotten too long winded, but I'm really excited to get
started and I'm just trying to sort everything out in my head.

2006\07\19@221149 by John Temples

flavicon
face
On Wed, 19 Jul 2006, Thomas Lockney wrote:

> 5. Does anyone know of a PIC C environment that works with the Eclipse IDE?

Hi-Tech's compilers run under Linux and use Eclipse.  They even have
some support for the ICD2 under Linux for a limited number of PICs.

--
John W. Temples, III

2006\07\19@223156 by Hector Martin [PIClist] n/a

flavicon
face
Thomas Lockney wrote:
> 1. Is a programmer designed to work with a 16C84 able to work for the
> 16LF84A or even 16LF870?
Not necessarily. I seem to recall the A versions use different
programming specs.
> 2. Is this (http://www.jdm.homepage.dk/easypic.htm) just too good to be true?
It's totally exceeding the PIC's ratings, but it *should* work if the
moon is at the right angle and you wave a dead fish over it. I.e. I
wouldn't trust it, but if you want to use it to test a few projects or
just bootstrap yourself onto an intelligent programmer, go for it.
> 3. Will the JDM design (http://www.jdm.homepage.dk/newpics.htm) work
> for any of the above PICs? Based on the one SparkFun sells it looks
> like I should be able to use it with all my chips.
JDMs are usually quite generic, so if the PC side can drive it, it will
program it, except for Vdd/Vpp sequence requirements or Vpp voltages,
which the JDM might not be able to control. At the very least it should
help you bootstrap yourself onto an intelligent programmer. I used to
use a JDM for most of my work, and it was pretty reliable for standalone
(not so for ICSP). I then moved to a Wisp628 and I'm happier now :)
> 4. What programmer software is recommended for Linux?
Look up odyssey, picprog, and similar. Best bet is probably to just try
and see which one works best. Even pikdev/piklab has a fairly good
embedded programmer.


--
Hector Martin (spam_OUThectorTakeThisOuTspammarcansoft.com)
Public Key: http://www.marcansoft.com/hector.asc

2006\07\19@231923 by Gaston Gagnon

face
flavicon
face
Hi Thomas,
PICALLW by Bojan Dobaj can program all the PIC models that you have mentioned.

       http://www.picallw.com

PICALLW is a windows application but click "PICALLW under LINUX" for directives to run it in Linux environment.
Version 0.16 is free since January 2005.
Click content-Hardware for the schematic of a programmer that you can put together yourself.

I can help you if you need help.
Gaston

Thomas Lockney wrote:
{Quote hidden}

2006\07\19@232325 by Byron A Jeff

face picon face
On Wed, Jul 19, 2006 at 06:46:08PM -0700, Thomas Lockney wrote:
> I'm new to the world of PICs (aside from having read about how great
> they are for years, anyway :) and am looking for some advice on the
> best way to get started. I've tried reading the FAQ, but I'm it's not
> exactly clear on some things.

Well welcome aboard!

> First, let me state that I run Linux primarily, though I do have
> access to Windows (through VMware -- and, yes, this does give me
> direct access to the serial and parallel ports). My preference is
> towards having options to work in both environments.

You'll most likely have two different toolchains then. Microchips
MPLAB is the gold standard for Windows. gputils is just about the
equivalent for Linux. You can get MLPAB from Microchip for the cost of
the download. gputils is located at http://gputils.sf.net

> So, that said, I have a handful of PICs (18F458, 16LF84A and 16LF870)
> and I'm trying to figure out the simplest, barebones (if necessary)
> way to get started programming them without having to buy a premade
> programmer.

You just come aboard and now you've started an argument! ;-)

Most developers in these environs believe that a programmer is a worthy
investment to get started.

I still reside in the "bootstrap it cheap" camp. However, the challenge
can be in getting your bootstrapped system going.

> It seems to me that I should be able to throw together
> some components on a breadboard and get started with next to nothing
> from what I've read, but I can't find instructions that directly tell
> me so.

Take a roam around my PIC page: http://www.finitesite.com/d3jsys. It has
simple hardware and Linux based software tools that can get you going in
the right direction. I also take time to answer questions in my Forum.

> I've seen a lot of simple programmers out there, but it seems
> that a number of them require some form of bootstrapping (because they
> use a PIC themselves)

Correct. For a permanent development programmer this is a reasonable
approach. The onboard PIC is smart enough to handle the PC interface and
most of the heavy lifting of programming the target.

But of course you run into the chicken and egg problem.

My Trivial Programmers are one possible stopgap.

> or they are for a specific chip that isn't one of those listed above.

Well that's less of an issue. From an electrical interface standpoint
virtually every PIC has the same interface: MCLR, Clock, Data, Vdd,
and one of Vpp or PGM depending on if you're going high or low voltage
programming. So programming hardware will typically program a wide
variety of parts even if they are not specifically listed.

The challenge comes in finding programming software that both understands
how to drive the programmer, and has the algorithms required to program
a particualr part.

> I think a lot of my confusion is likely simply misunderstanding. I'll
> ask a few specific questions and then ask for some general advice:

Fire away.

> 1. Is a programmer designed to work with a 16C84 able to work for the
> 16LF84A or even 16LF870?

Probably. I'd suggest kicking the 16LF84A to the curb and using the
16LF870. I have a couple of posted pages on my site about why you
should consider newer parts for your designs.

> 2. Is this (http://www.jdm.homepage.dk/easypic.htm) just too good to be true?

Yes. Two reasons:

1) If you have a properly functioning serial port with anything close to
RS-232 spec voltages, then the voltages to the part are out of spec. So
nothing is guaranteed.

2) Many modern serial ports do not have anything close to RS-232 spec
voltages. Many serial ports switch between 0V and 3.3V. Because of this,
there's again no guarantee that the serial port will properly drive the PIC
lines in order to program it.

> 3. Will the JDM design (http://www.jdm.homepage.dk/newpics.htm) work
> for any of the above PICs?

JDM programmers have the same serial port issues as above, especially #2.
On some ports it works fine, on others it fails. I would suggest that you'd
use a MAX232 to ensure that both the PIC and the serial port are getting
voltages they expect.

> Based on the one SparkFun sells it looks
> like I should be able to use it with all my chips.

It's a crapshoot.

Truthfully the PC parallel port is a more stable target. Since it's always
been TTL speced you have a pretty good idea of what you're going to get out
of one. That's why my Trivial programmers are parallel port targeted.

> 4. What programmer software is recommended for Linux?

PikDev (http://pikdev.free.fr) gets high marks. Up to date on programming
algorithms and connects to a wide variety of programming hardware. Also it
still maintains a CLI interface to the programming engine in addition the
IDE that is the traditional interface.

> 5. Does anyone know of a PIC C environment that works with the Eclipse IDE?

No clue. I would suggest that you work in PIC assmebly at least until you get
a reading level understanding of PIC assembly. The reason it that outside of
assembly, PIC programming languages is quite fragmented. So assembly is often
used to bridge discussion of ideas. But if you can read it, it doesn't help
much. Program a project or three in assembly, then start thinking about higher
level languages.

> 6. What books do people recommend that are still pretty current (the
> ones I've browsed at the bookstore often seem to be pretty old)?

Google and http://www.piclist.com. Everything that's up to date is online. The
Elmer 160 tutorial by John McDonald: www.amqrp.org/elmer160/lessons/index.html
is an excellent learning resource for example.

>
> I hope I haven't gotten too long winded,

Nope.

> but I'm really excited to get
> started and I'm just trying to sort everything out in my head.

Welcome again. Come back with any more questions you may have.

BAJ

2006\07\20@011254 by Xiaofan Chen

face picon face
On 7/20/06, Thomas Lockney <.....tlockneyKILLspamspam@spam@gmail.com> wrote:
> I'm new to the world of PICs (aside from having read about how great
> they are for years, anyway :) and am looking for some advice on the
> best way to get started. I've tried reading the FAQ, but I'm it's not
> exactly clear on some things.
>
> First, let me state that I run Linux primarily, though I do have
> access to Windows (through VMware -- and, yes, this does give me
> direct access to the serial and parallel ports). My preference is
> towards having options to work in both environments.
>

I will suggest Microchip PICKit 2 as the programmer. It does not support
16C84/16LF84A/16LF870 yet. I will suggest you to get samples from
Microchip (chips like 16F684/688/690, 16F87/88, 16F876A, 18F1320).

I will say stay away from JDM but I am biased...

Under Windows, MPLAB is the standard. MPLAB 7.41 is just out.

Under Linux, I will suggest Piklab. PICKit 2 is well supported under
Linux using Piklab and pk2-2.01.

Gnupic mailing list is a good place to go for Linux related PIC questions.

gnupic: http://www.gnupic.org/
piklab: http://piklab.sourceforge.net/
pk2: http://home.pacbell.net/theposts/picmicro/

Essential tools under Linux:
gputils: http://gputils.sourceforge.net/
sdcc: http://sdcc.sourceforge.net/
gpsim: http://www.dattalo.com/gnupic/gpsim.html


Regards,
Xiaofan

2006\07\20@022009 by Wouter van Ooijen

face picon face
> I'm new to the world of PICs

read http://www.voti.nl/swp
it is getting a bit dated, but IMHO still usefull for a newbie

> So, that said, I have a handful of PICs

you know Mirochips has a sampling service?

> 1. Is a programmer designed to work with a 16C84 able to work for the
> 16LF84A or even 16LF870?

yes, for the 870 checkj wether the PC software supports the chip

> 2. Is this (http://www.jdm.homepage.dk/easypic.htm) just too
> good to be true?

yes. it might work, it might not work (in your particular case).

> 3. Will the JDM design (http://www.jdm.homepage.dk/newpics.htm) work
> for any of the above PICs?

same

> 6. What books do people recommend that are still pretty current (the
> ones I've browsed at the bookstore often seem to be pretty old)?

books? get the datasheet(s)!

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2006\07\20@044156 by Tamas Rudnai

face picon face
Hi Thomas,

I was just wondering if MPLAB or other PIC programmer works with WINE?

Tamas




On 20/07/06, Wouter van Ooijen <wouterspamKILLspamvoti.nl> wrote:
{Quote hidden}

> -

2006\07\20@045224 by Xiaofan Chen

face picon face
On 7/20/06, Tamas Rudnai <.....tamas.rudnaiKILLspamspam.....gmail.com> wrote:

> I was just wondering if MPLAB or other PIC programmer works with WINE?
>
> Tamas
>

Microchip tools like PICKit 2 and ICD2 do not work under MPLAB using Wine.
I think PICStart+ /Promate 2/Promate 3 will not work either. Wine is not
up to the task in terms of hardware support.

I wrote a mini-howto sometime back.
http://forum.microchip.com/tm.aspx?m=112347

It is said that USB ICD2 works under MPLAB with Vmware. I think then
PICKit 2/PS+/PM2 will work as well. Not so sure about MPLAB ICE2000/4000
and Promate 3. They might work as well.

Regards,
Xiaofan

2006\07\20@102539 by Jan Wagemakers

face picon face
Thomas Lockney <EraseMEtlockneyspam_OUTspamTakeThisOuTgmail.com> schreef:

> 3. Will the JDM design (http://www.jdm.homepage.dk/newpics.htm) work

> 4. What programmer software is recommended for Linux?

I make use of picprog <http://hyvatti.iki.fi/~jaakko/pic/picprog.html> and a
JDM-style programmer. Works for me, but YMMV.


--
Met vriendelijke groetjes         - Jan Wagemakers -

... Why don't you ask the kids at Tiananmen Square
   Was fashion the reason why they were there         --System Of A Down

2006\07\20@103638 by Jan Wagemakers

face picon face

Byron A Jeff <byronspamspam_OUTcc.gatech.edu> schreef:

> JDM programmers have the same serial port issues as above, especially #2.
> On some ports it works fine, on others it fails. I would suggest that you'd
> use a MAX232 to ensure that both the PIC and the serial port are getting
> voltages they expect.

Maybe this <http://www.qsl.net/eb4eqa/serial_booster/serial_booster.htm> is
interesting for someone?

With this serial-booster I can use my JDM-style-programmer on an old laptop,
however, it only works when I run at 650Mhz.¹

I can use it at 750Mhz with a little hack from my friend Maarten.²


[1] <www.janw.dommel.be/nanoblogger/archives/2006/04/#e2006-04-01T13_24_44.txt>
[2] <www.janw.dommel.be/nanoblogger/archives/2006/04/#e2006-04-15T18_52_29.txt>
--
Met vriendelijke groetjes         - Jan Wagemakers -

... Why don't you ask the kids at Tiananmen Square
   Was fashion the reason why they were there         --System Of A Down

2006\07\20@110047 by Wouter van Ooijen

face picon face
> Maybe this
> <http://www.qsl.net/eb4eqa/serial_booster/seri> al_booster.htm>
> is interesting for someone?

It will probably work as far as the volatge levels are concerned, but you will still be bit-banging the serial port pins from your PC, which is not exactly what PC are made for (or what XP is made to accept).

So if you are going into this level of building effort, why not build an intelligent programmer (Wisp628, EasyProg, I think there are more around).

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu



2006\07\20@113605 by Wayne Topa

flavicon
face
Tamas Rudnai(@spam@tamas.rudnaiKILLspamspamgmail.com) is reported to have said:
> Hi Thomas,
>
> I was just wondering if MPLAB or other PIC programmer works with WINE?

I use icprog with wine and the sparkfun PIC-PG2C.  Works fine, so far.

I was suprised to find that the new JAL-V2 windows package also runs
on wine.

Linux Pikdev works as well with the Sparkfun (Olimex) programmer.

WT

2006\07\20@125509 by Tamas Rudnai

face picon face
Yes, WINE is getting better and better, that's why I asked.

Anyway, is there any reason why you guys build a programmer instead of
buying a commercial one?
For example the usb only ICD2 is started around 118 pounds, if you buy the
usb/serial one with all the gadgets it will be 226 uk pounds all together
which is around 360 euro (I am not sure about usa dollar). But this is a
professional one with debugging capability and PSU and everything, so if you
buy only the starter kit which is ok for learning it will be around 20-40
pounds (32-64 euro). Of course MPLAB compatible, and for the 40 you get the
USB version.

How much would it cost to build your programmer like this Wisp628 or PICKit
2?

Tamas


On 20/07/06, Wayne Topa <KILLspamlinuxoneKILLspamspamintergate.com > wrote:
{Quote hidden}

> -

2006\07\20@140518 by Wouter van Ooijen

face picon face
> How much would it cost to build your programmer like this
> Wisp628

http://www.voti.nl/shop/p/K-Wisp628.html

> or PICKit2?

more than a Wisp628, but it is more capable. but you'd better buy the
thing itself.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu
 


2006\07\20@152936 by Jan Wagemakers

face picon face
Wouter van Ooijen <spamBeGonewouterspamBeGonespamvoti.nl> schreef:

>> Maybe this
>> <http://www.qsl.net/eb4eqa/serial_booster/serial_booster.htm>
>> is interesting for someone?
> It will probably work as far as the volatge levels are concerned, but you
> will still be bit-banging the serial port pins from your PC, which is not
> exactly what PC are made for

True, I have just post this link because I thought it could be interesting
for someone. Not because I think this is the best solution.

> (or what XP is made to accept).

I use it with GNU/Linux ;-)

> So if you are going into this level of building effort, why not build an
> intelligent programmer (Wisp628, EasyProg, I think there are more around).

In my case, I have build it just because of the fun of it. I already had a
JDM-style-programmer that works perfectly on my normal PC and my
Sparc/javastation. With this serial-booster I can also use it on this old
laptop here. And the MAX-205 I've got from the maxim-sample service.

But you are right, there are better programmers around.


--
Met vriendelijke groetjes         - Jan Wagemakers -

- Debian GNU/Linux testing/unstable -

2006\07\20@162005 by Byron A Jeff

face picon face
On Thu, Jul 20, 2006 at 04:36:28PM +0200, Jan Wagemakers wrote:
> Byron A Jeff <TakeThisOuTbyronEraseMEspamspam_OUTcc.gatech.edu> schreef:
>
> > JDM programmers have the same serial port issues as above, especially #2.
> > On some ports it works fine, on others it fails. I would suggest that you'd
> > use a MAX232 to ensure that both the PIC and the serial port are getting
> > voltages they expect.
>
> Maybe this <http://www.qsl.net/eb4eqa/serial_booster/serial_booster.htm> is
> interesting for someone?

Fundamentally the soultion I proposed above except that there are more
drivers and no caps. Now the rub: Digikey is showing the MAX205 for $16.38!

Too costly.

BAJ

2006\07\20@163503 by Byron A Jeff

face picon face
On Thu, Jul 20, 2006 at 05:00:44PM +0200, Wouter van Ooijen wrote:
> > Maybe this
> > <http://www.qsl.net/eb4eqa/serial_booster/seri> al_booster.htm>
> > is interesting for someone?
>

> It will probably work as far as the volatge levels are concerned, but you
>will still be bit-banging the serial port pins from your PC, which is not
>exactly what PC are made for (or what XP is made to accept).

> So if you are going into this level of building effort, why not build an
>intelligent programmer (Wisp628, EasyProg, I think there are more around).

It just starts the same round of arguments that always seem to float around
when this discussion starts. Most of the time you talk to JDM and Tait
style programmer advocates, they are looking for cheap, simple, and instant
gratification. The complexity comes in integration issues such as voltage
levels on ports.

The intelligent programmer advocates are looking to build for the long term
so none of cheap, simple or instant are as critical to this crowd.

Of course I prefer bootloaders. While it limits chip choices, I find it
gives me the most consistent environment for doing development.

They are all different and each has strengths and weaknesses.

BAJ

2006\07\20@165439 by Byron A Jeff

face picon face
On Thu, Jul 20, 2006 at 05:55:05PM +0100, Tamas Rudnai wrote:
> Yes, WINE is getting better and better, that's why I asked.
>
> Anyway, is there any reason why you guys build a programmer instead of
> buying a commercial one?

For me the objective isn't about programming PICs. I generally don't use
a programmer for development. Therefore it's perceived value and expectation
is lower for me than for other developers.

> For example the usb only ICD2 is started around 118 pounds, if you buy the
> usb/serial one with all the gadgets it will be 226 uk pounds all together
> which is around 360 euro (I am not sure about usa dollar).

That's a total Ouch for me!

> But this is a
> professional one with debugging capability and PSU and everything, so if you
> buy only the starter kit which is ok for learning it will be around 20-40
> pounds (32-64 euro). Of course MPLAB compatible, and for the 40 you get the
> USB version.

Again the perceived value of well over $50 USD doesn't match my expectations
for usage.

> How much would it cost to build your programmer like this Wisp628 or PICKit
> 2?

Neither of these match my expectation either. Here's my personal development
cycle:

1) Spend 10 minutes wiring one of my trivial programmers from junkbox
components.

2) Use the programmer to dump a bootloader into the target.

3) Connect the target and program it directly using the bootloader.

I know the disadvantages of bootloaders: limited to self programmable chips,
limited debugging capability, use of memory and I/O resources, somewhat
limited speed of programming. However, I personally find it the best balance
in terms of offering that capabilities I need to get projects done. Frankly
programmers get in the way of my target.

Another aspect is control, and not just cost. Then you purchase commercially
you are dependant on that manfacturer to deliver the expected product. When
you build your own, you're in control of the development/construction process.

The one thing I've figured out in all of these discussions over the years is
that nothing is cut and dried. There's no one right way to do it. And just
because someone does it differently doesn't mean that it's wrong for them,
even if their choice is wrong for you. You simply weigh the options available
and choose the one that fits your goals the best.

The OP stated that he wanted a chip, non bootstrapped, Linux capable
programmer for the parts he had on hand. My Trivial programmer virtually
fits that bill to a tee. It's not good for other situations, but it
happens to fit that one.

BAJ

2006\07\20@170121 by Jan Wagemakers

face picon face

Byron A Jeff <RemoveMEbyronspamTakeThisOuTcc.gatech.edu> schreef:

>> Maybe this <http://www.qsl.net/eb4eqa/serial_booster/serial_booster.htm> is
>> interesting for someone?
> Fundamentally the soultion I proposed above except that there are more
> drivers and no caps. Now the rub: Digikey is showing the MAX205 for $16.38!
> Too costly.

Or, get a sample at <http://www.maxim-ic.com/parts.cfm/p/MAX205> ;-)


--
Met vriendelijke groetjes         - Jan Wagemakers -

... Everybody's just consuming What the media's dictating
   And they all have forgotten The joy that is to creating --L'âme Immortelle

2006\07\20@171348 by stef mientki

flavicon
face

> I know the disadvantages of bootloaders: limited to self programmable chips,
> limited debugging capability,
Isn't it possible to get almost the same debugging capabilities as ICD
(except RB6 control),
through the serial lines of the bootloader ??
I think it can be done, but I haven't found anyone who did it :-(

cheers,
Stef Mientki

2006\07\20@171838 by Wouter van Ooijen

face picon face
> It just starts the same round of arguments that always seem
> to float around
> when this discussion starts. Most of the time you talk to JDM and Tait
> style programmer advocates, they are looking for cheap,
> simple, and instant
> gratification.

Note that I am not saying that such programmers don't have their place.
If your time is cheap by all means try one or two, if they work, fine!
But if they don't drop them, and try a design that has a much higher
chance of working, but costs a little more. Adding a level booster to a
dumb programmer combines the bad aspects of both: it is still a serial
port pin wiggler with all the associated XP problems, but the complexity
approaches a Wisp628 or other simple but intelligent programmer.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2006\07\20@171838 by Wouter van Ooijen

face picon face
> Neither of these match my expectation either. Here's my
> personal development cycle:

BAJ, there is one catch: if you want to use a new type of chip, you'll
first have to write and debug a bootloader for it!

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2006\07\20@191446 by Xiaofan Chen

face picon face
On 7/21/06, Wouter van Ooijen <wouterEraseMEspam.....voti.nl> wrote:

> Note that I am not saying that such programmers don't have their place.
> If your time is cheap by all means try one or two, if they work, fine!
> But if they don't drop them, and try a design that has a much higher
> chance of working, but costs a little more. Adding a level booster to a
> dumb programmer combines the bad aspects of both: it is still a serial
> port pin wiggler with all the associated XP problems, but the complexity
> approaches a Wisp628 or other simple but intelligent programmer.
>

Very good summary.

Regards,
Xiaofan

2006\07\20@192337 by Byron A Jeff

face picon face
On Thu, Jul 20, 2006 at 11:18:34PM +0200, Wouter van Ooijen wrote:
> > Neither of these match my expectation either. Here's my
> > personal development cycle:
>
> BAJ, there is one catch: if you want to use a new type of chip, you'll
> first have to write and debug a bootloader for it!

True. Especially when you have a different family (16F vs 18F vs dsPIC)

Fortunately there are enough folks interested in bootloaders that models
that can be used for templates become available.

What I've been trying to do off and on is come up with a consistent
communications architecture that can be consistent across implementations.
That way the host program doesn't have to change much, if at all, when
a new chip family comes along.

BAJ

2006\07\20@192702 by Byron A Jeff

face picon face
On Thu, Jul 20, 2006 at 11:18:34PM +0200, Wouter van Ooijen wrote:
> > It just starts the same round of arguments that always seem
> > to float around
> > when this discussion starts. Most of the time you talk to JDM and Tait
> > style programmer advocates, they are looking for cheap,
> > simple, and instant
> > gratification.
>
> Note that I am not saying that such programmers don't have their place.
> If your time is cheap by all means try one or two, if they work, fine!
> But if they don't drop them, and try a design that has a much higher
> chance of working, but costs a little more. Adding a level booster to a
> dumb programmer combines the bad aspects of both: it is still a serial
> port pin wiggler with all the associated XP problems, but the complexity
> approaches a Wisp628 or other simple but intelligent programmer.

I'm a firm non-believer in serial ports because of their varibility.
Unfortunately because of USB both serial and parallel ports are slowly
dying with no guarantees either will be available in the near future.
I'll be sorely disappointed when we get to the point where a programmer
cannot be bootstrapped simply because the interface complexity prohibits
it. Right now USB to serial converters seems to be the only type of
interface that may survive the purge. This has steered my interest in
figuring out how to bootstrap from them.

BAJ

2006\07\20@200008 by Bob Axtell

face picon face
Byron A Jeff wrote:
{Quote hidden}

I have done several designs with USB converters. I agree, its just about
all that is left.

I realize that USB is replacing parallel ports and serial ports left and
right, but USB has proven
(to my mind) to be incredibly unreliable, at least under Windows.

The main problem with USB VCP is that there is no visibility. If there
is an error, there is almost
no ability to see what is wrong. The comm port moves all over the place,
forcing the user code to
test all available VCP ports to locate your "product". You can't
reliably bit-bang anything, the timing
is unreliable.

I've tested myriad Win2K, Win98, and  WinXP systems using USB. Win98
will gladly accept multiple
copies of the same driver. Win2K and WinXP systems are afflicted with
"Windows sickness"... it just
stops working, no idea why.

A product I am now finishing the firmware on accepts USB (VCP) ports or
a DB9 connection. The
DB9 connection is infinitely more reliable than the VCP port. Tested
with 7 different WinXP systems.

--Bob

2006\07\20@225024 by John Chung

picon face


--- Wouter van Ooijen <EraseMEwouterspamvoti.nl> wrote:

{Quote hidden}

Building one is not that easy as Wouter pointed out.
If you are confident than try it! Take quite a bit of
time to identify the steps and solution.

John


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

2006\07\21@014521 by Denny Esterline

picon face
> I'm a firm non-believer in serial ports because of their varibility.
> Unfortunately because of USB both serial and parallel ports are slowly
> dying with no guarantees either will be available in the near future.
> I'll be sorely disappointed when we get to the point where a programmer
> cannot be bootstrapped simply because the interface complexity prohibits
> it. Right now USB to serial converters seems to be the only type of
> interface that may survive the purge. This has steered my interest in
> figuring out how to bootstrap from them.
>
> BAJ

I just bought a couple of these http://www.ftdichip.com/Products/EvaluationKits/TTL-232R.htm for a different project. They're FTDI's FT232R chip molded into the end of a USB cable with a TTL level outputs. As you may already now the FT232R has some bit-bang modes. When I get some free time I think I'll look at using it to bootstrap a PIC.

One of the thoughts I had was using it to low-voltage program a PIC for use in an intelligent programmer. Once the programmer has been bootstrapped, it could then be moved to a different connector and used for serial programming.

-Denny



2006\07\21@023928 by stef mientki

flavicon
face

> A product I am now finishing the firmware on accepts USB (VCP) ports or
> a DB9 connection. The
> DB9 connection is infinitely more reliable than the VCP port. Tested
> with 7 different WinXP systems.
>  
If you're using FTDI devices,
you should definitely try D2XX drivers, which are real USB drivers,
instead of the VCP drivers,
and all your problems on winXP are gone !!
I've tested both drivers on numerous winXP systems.

Stef Mientki

2006\07\21@044451 by Tamas Rudnai

face picon face
I have never tested by myself but some people claims that IEEE1394 is much
more reliable (and of course faaaaster). As far as I know USB was designed
only to be able to produce things cheaper than that. Is anybody have some
experience with Firewire/i-Link/IEEE1394 in general? If somebody would like
to develop for firewire what chip / solution is preferred?

Tamas


On 21/07/06, Bob Axtell <RemoveMEengineerEraseMEspamEraseMEcotse.net> wrote:
{Quote hidden}

> -

2006\07\21@110542 by Byron A Jeff

face picon face
On Fri, Jul 21, 2006 at 09:44:51AM +0100, Tamas Rudnai wrote:
> I have never tested by myself but some people claims that IEEE1394 is much
> more reliable (and of course faaaaster).

Bit speed at the wire for Firewire isn't faster than USB 2.0 to a single
device (400 Mbps vs 480 Mbps). However it's unclear which is faster in
two situations:

1) Overall bandwidth including overhead
2) Overall bandwidth in multidevice setups. I think that Firewire
distributes better.

The final issue is getting readily available, cost effective Firewire
interfaces for the client. USB has the huge advantage of being built in
to many uCs as a client.

> As far as I know USB was designed
> only to be able to produce things cheaper than that. Is anybody have some
> experience with Firewire/i-Link/IEEE1394 in general? If somebody would like
> to develop for firewire what chip / solution is preferred?

Excellent questions. I'd love to hear the answer.

BAJ

2006\07\21@112658 by Tamas Rudnai

face picon face
Yes, Firewire 800 (1394b) is twice as fast (800Mbps), and some people says
sometimes even the normal Firewire is faster than USB 2 on audio / video
streaming because of the things you pointed out.

Tamas



On 21/07/06, Byron A Jeff <RemoveMEbyronspam_OUTspamKILLspamcc.gatech.edu> wrote:
{Quote hidden}

> -

2006\07\21@115041 by Byron A Jeff

face picon face
On Fri, Jul 21, 2006 at 01:46:13AM -0400, Denny Esterline wrote:
> > I'm a firm non-believer in serial ports because of their varibility.
> > Unfortunately because of USB both serial and parallel ports are slowly
> > dying with no guarantees either will be available in the near future.
> > I'll be sorely disappointed when we get to the point where a programmer
> > cannot be bootstrapped simply because the interface complexity prohibits
> > it. Right now USB to serial converters seems to be the only type of
> > interface that may survive the purge. This has steered my interest in
> > figuring out how to bootstrap from them.
> >
> > BAJ
>

> I just bought a couple of these
>http://www.ftdichip.com/Products/EvaluationKits/TTL-232R.htm for a different
>project. They're FTDI's FT232R chip molded into the end of a USB cable with a
>TTL level outputs. As you may already now the FT232R has some bit-bang modes.
>When I get some free time I think I'll look at using it to bootstrap a PIC.

11 pounds is about $22/$23 USD right? A bit pricey when compared to a USB to
serial converter. However if it properly syncs bit-banging and since it has known
output values (which are CMOS compatible at 5V), it could be a winner.

> One of the thoughts I had was using it to low-voltage program a PIC for use
> in an intelligent programmer. Once the programmer has been bootstrapped, it
> could then be moved to a different connector and used for serial
> programming.  

Well that's fundamentally what I do in my bootloader setup. The only difference
is that the bootloaded PIC is the target chip instead of being the intermediary
programming chip.

I know sometimes it seems that I'm railing against intelligent programmers. I
believe that they have their place. What I really mourn is the fact that the
modern PC is becoming a barren wasteland for the DIY hobbyist. Parallel ports
are dying and serial ports will soon follow. Modern periperals that used to
utilize those ports have virtually become all USB (i.e. mice, printers, modems
etc.) So they are becoming a PC appendix with no discernable useful function.

However the parallel port is a well documented, consistent, easily accessible
interface for the hobbyist. It is fortunate that at least the current crop of
desktop MB still carry it. But I saw the writing on the wall when I got my
Dell D810 from work and it didn't have a parallel port where the D800 did.
Same sized laptop.

Serial ports are slower to disappear. However they have become non-standard
much faster than parallel ports, which were always TTL interfaced and therefore
functioned fine which 3.3V became the voltage standard for MB.

USB is the end game. And there isn't much on the landscape there. First off
the target of USB requires much more complexity in order to interface. For
example I just Googled 'bit-bang USB' and for a bunch of articles describing
how to use the FTDI FT245 chip as an interface. Then you run into the ready
availablity issue. For example Digi-Key only carries the FT232BM and they
don't have any in stock.

So you turn to readily available USB parts. USB to serial interfaces fit this
category quite well. They are inexpensive and readily available. But they are
a crapshoot. Different chipsets, different drivers, no synchronization guarantees
on modem control signals, and no promise of actually getting voltages
anywhere near the RS-232 standard. In short it's a mess, and a mess that hobbyists
are going to have to learn to live with.

I worry about the chicken and egg problem. USB becames serviceable once you hook
up a decent uC to it. But getting that uC to a useable state is the challenge.

BAJ

2006\07\21@122119 by olin piclist

face picon face
Tamas Rudnai wrote:
> Yes, Firewire 800 (1394b) is twice as fast (800Mbps), and some people
> says sometimes even the normal Firewire is faster than USB 2 on audio /
> video streaming because of the things you pointed out.

But none of this matters for a PIC, since even the 12Mbit/sec USB speed is
more than a PIC can handle.  There isn't a lot of meaningful processing a
PIC can do with a new byte every uS.  That's a new byte every 12
instructions on a 18F USB PIC running at its maximum speed of 48MHz.


******************************************************************
Embed Inc, Littleton Massachusetts, (978) 742-9014.  #1 PIC
consultant in 2004 program year.  http://www.embedinc.com/products

2006\07\21@135523 by Denny Esterline

picon face
> > I just bought a couple of these
> >http://www.ftdichip.com/Products/EvaluationKits/TTL-232R.htm for a different
> >project. They're FTDI's FT232R chip molded into the end of a USB cable with a
> >TTL level outputs. As you may already now the FT232R has some bit-bang modes.
> >When I get some free time I think I'll look at using it to bootstrap a PIC.
>
> 11 pounds is about $22/$23 USD right? A bit pricey when compared to a USB to
> serial converter. However if it properly syncs bit-banging and since it has known
> output values (which are CMOS compatible at 5V), it could be a winner.

Mouser is the stocking distributor for the US, $20.00 ea.

I spent some quality time with the datasheets last night. The serial adaptor brings out four pins - TX, RX, CTS, RTS. It seems in bit bang mode these translate into D0-D3. If I understand correctly there are functions in the D2xx drivers that allow byte wide read and write to the D port. There might be some complications if the bit directions can't be controlled individualy.


>
> > One of the thoughts I had was using it to low-voltage program a PIC for use
> > in an intelligent programmer. Once the programmer has been bootstrapped, it
> > could then be moved to a different connector and used for serial
> > programming.  
>
> Well that's fundamentally what I do in my bootloader setup. The only difference
> is that the bootloaded PIC is the target chip instead of being the intermediary
> programming chip.

You commonly use LVP?

> I know sometimes it seems that I'm railing against intelligent programmers. I
> believe that they have their place. What I really mourn is the fact that the
> modern PC is becoming a barren wasteland for the DIY hobbyist. Parallel ports
> are dying and serial ports will soon follow. Modern periperals that used to
> utilize those ports have virtually become all USB (i.e. mice, printers, modems
> etc.) So they are becoming a PC appendix with no discernable useful function.

A significant part of the PIC comunity (and a market Mchip has activly sought) is hobbiests. People where time does not equal money. Some of those people will find more joy and satisfaction in doing it thierselves even if it takes longer and costs more. Then there's the "students" (I use the term very broadly), sure anyone can buy a programmer, write some code and flash a chip - but how much more does a person learn when they have to figure out all the details to build and debug thier own programmer?

-Denny


2006\07\21@142504 by Byron A Jeff

face picon face
On Fri, Jul 21, 2006 at 01:56:14PM -0400, Denny Esterline wrote:
> > > I just bought a couple of these
> > >http://www.ftdichip.com/Products/EvaluationKits/TTL-232R.htm for a different
> > >project. They're FTDI's FT232R chip molded into the end of a USB cable with a
> > >TTL level outputs. As you may already now the FT232R has some bit-bang modes.
> > >When I get some free time I think I'll look at using it to bootstrap a PIC.
> >
> > 11 pounds is about $22/$23 USD right? A bit pricey when compared to a USB to
> > serial converter. However if it properly syncs bit-banging and since it has known
> > output values (which are CMOS compatible at 5V), it could be a winner.
>
> Mouser is the stocking distributor for the US, $20.00 ea.

Good to know.

{Quote hidden}

Mostly for testing. LVP hurts too much because you permanently lose an I/O pin.
Even worse it's an I/O pin that's in the middle of a perfectly serviceable 8 pin
port.

But LVP can give you programmer validation very quickly. So when I lash up a
bootloader dumper, I'll often work it LVP initially to make sure everything
works.  I haev a 16VDC wall wart that I use with a junkbox LM317 and a couple
of resistors to get the 13VDC or so required for HVP programming. It's the
off schematic part of my Trivial HVP circuit here:
http://www.finitesite.com/d3jsys/proghvp.gif

{Quote hidden}

You're speaking to the academic in me. Since I live and work with students
for a living, I strive to get them to work for a deeper understanding of the
process even though in the field a prepackaged approach certainly makes
since. For a student it's useful to understand the underlaying process even
when they move on to simply becoming a user of the process. It assists in
making choices and any debugging that may be required down the line.

BAJ

More... (looser matching)
- Last day of these posts
- In 2006 , 2007 only
- Today
- New search...