Searching \ for '[PIC]: LVP + Tait Cable + 16F870 questions' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/devices.htm?key=16F
Search entire site for: 'LVP + Tait Cable + 16F870 questions'.

Exact match. Not showing close matches.
PICList Thread
'[PIC]: LVP + Tait Cable + 16F870 questions'
2001\05\25@140444 by Andrew S Mehlos

flavicon
face
(If these are stupid questions, or they're in some FAQ that I couldn't
find, I'm terribly sorry. This is my first post to the PIC list.)



  Greetings. I'm new to PICs, and would appreciate it greatly if
someone could tell me if I'm on the right track or not. I'm using
a 16F870, and I'd like to use a programming setup like the one
described at:
http://www.piclist.com/techref/microchip/16F877/taitlinux.htm

I've checked the archives for a general description of the LVP
programming mode, which seems ideal for my application since I'll
probably end up changing things all the time.

Am I correct in guessing that the drawbacks to the LVP modes are
that:

o  RB3 can't be used in the application, and needs to be connected
  to a 10K resistor to ground for the device to operate normally?

o I can grab the +5V power off the red wire on a harddrive power
 connector to power the PIC for programming?



Also -- Can anyone recommend free programming software for Linux
(ideally 2.4-kernel-compatible) that will work with the Tait-style
programmer in that first link? Will most programming software work
if I change the "Begin Programming" byte to 0x18 instead of 0x08?

(picprg2.2 doesn't seem to be able to find the parallel ports. I've
got /dev/parport0, the kernel sees it during boot:
"parport0: PC-style at 0x278 [PCSPP(,...)]" , but picprg doesn't seem
to be able to open it. I can run strace with picprg and see that it's
setting ioperm's on 0x278, though. I also get these in the strace:
open("/dev/lp2", O_WRONLY)              = -1 ENOSYS (Function not implemented)
open("/dev/lp2", O_WRONLY)              = -1 ENODEV (No such device)

(even though /dev/lp2 is symlinked to /dev/parport0)






--
Andrew S. Mehlos               |finger spam_OUTdweezilTakeThisOuTspamexecpc.com for PGP key

--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email .....listservKILLspamspam@spam@mitvma.mit.edu with SET PICList DIGEST in the body


2001\05\26@095959 by Byron A Jeff

face picon face
>
> (If these are stupid questions, or they're in some FAQ that I couldn't
> find, I'm terribly sorry. This is my first post to the PIC list.)

Not stupic at all. However I would like to point out that at least 3 searchable
PICLIST archives exist. Use James' excellent PICLIST site (http://www.piclist.com)
as a starting point.
>
>
>
>    Greetings. I'm new to PICs, and would appreciate it greatly if
> someone could tell me if I'm on the right track or not. I'm using
> a 16F870, and I'd like to use a programming setup like the one
> described at:
> http://www.piclist.com/techref/microchip/16F877/taitlinux.htm

Hey! I posted that! BTW I have a copy of picprog 2.2 with those enhancements
floating around my machine.

>
> I've checked the archives for a general description of the LVP
> programming mode, which seems ideal for my application since I'll
> probably end up changing things all the time.

Well you have have missed the point here. LVP really isn't going to buy you
much difference in terms of changability. Essentially you get the same
complexity whether or not you have LVP or not.

However if you want a significant change in productivity, you may want to
consider using a bootloader. Such as Wouter's wloader which can be found
here:

http://www.xs4all.nl/~wf/wouter/pic/wloader

See members of the 16F87X family can reprogram their program memory under
program control. A bootloader is a program that you write into the part
that will download an execute other programs. It becomes self programming.

Wouter's serial interface takes about 10 minutes to breadboard. It's
essentially 4 resistors and a zener diode that creates a half duplex serial
port that can be connected to a PC or anything else with a serial port
(some days I think about have a Palm Pilot assembler so that I can download
from the palm). Essentially it makes the part self programming and
automatically in-circuit programmable. Simply attach a 3 wire cable from the
serial dongle to the target board and program and test away. It's really
increased my prodcutivity in development.

Unfortunately you still need a traditional programmer to install the bootloader
into the PIC. I'm slowly working on a wloader cloner, that when loaded into
a "wloaded" PIC, will cause it to spawn itself into another target. Then
wloaded chips will become complete self spawning without the need for another
programmer.

There are a couple of drawbacks with the bootloader. First is that it takes up
memory, 1.5K's worth. While cheap for the 877 (with 8K). It may be too
much memory cost for the smaller parts.

The second cost is that it requires a dedicated I/O pin. Again no problems for
40 pin parts, I use PortE2 for example. But could be an issue with the 28
pin parts. But there's a silver lining in this also: this serial interface
pin can become a serial debug port in your application. I wrote a timer2 based
serial output routine that will write debug messages to the port.

Lastly there is a Linux based tool for interfacing to a wloaded chip: linwload
by Wojciech Zabolotny. You can find it here:

http://www.ise.pw.edu.pl/~wzab/linwload/linwload.html

I've made a few updates which I sent to Woj, but I haven't seen an update on
his page yet. If you'd like to have an updated copy, let me know.

>
> Am I correct in guessing that the drawbacks to the LVP modes are
> that:
>
> o  RB3 can't be used in the application, and needs to be connected
>    to a 10K resistor to ground for the device to operate normally?

Or directly to ground. But yes the pin is essentially unavailable. Wloader
disables LVP BTW. So you trade a unusable pin in a badly placed spot for a
partially usable pin in any spot you choose.

>
> o I can grab the +5V power off the red wire on a harddrive power
>   connector to power the PIC for programming?

Yes. But I finally succumbed to the simply fact that 2 9V batteries and a
LM317 regulator can easily generate the required 13V programming voltage.

Another disadvantage with LVP is that it cannot be disabled via LVP. It makes
sense because you wouldn't want to disable the ability to program the chip.
However with it's self programming ability, it would be disabled with the
right software loaded.

>
>
>
> Also -- Can anyone recommend free programming software for Linux
> (ideally 2.4-kernel-compatible) that will work with the Tait-style
> programmer in that first link? Will most programming software work
> if I change the "Begin Programming" byte to 0x18 instead of 0x08?

It should work without it, it's just that the 0x18 is more efficient.

>
> (picprg2.2 doesn't seem to be able to find the parallel ports. I've
> got /dev/parport0, the kernel sees it during boot:
> "parport0: PC-style at 0x278 [PCSPP(,...)]" , but picprg doesn't seem
> to be able to open it. I can run strace with picprg and see that it's
> setting ioperm's on 0x278, though. I also get these in the strace:
> open("/dev/lp2", O_WRONLY)              = -1 ENOSYS (Function not implemented)
> open("/dev/lp2", O_WRONLY)              = -1 ENODEV (No such device)

Well that's the issue I discussed in the page you listed. /dev/lp2 isn't
available because it's /dev/lp0 (/dev/parport0) on your machine. The updated
version of picprog (2.3beta?) let's you set the port address directly without
mapping to the printer device.

Now I have to go and dig up our updated source so I can see how we did it...
I found it and it works are stated above, instead of storing the port name,
it uses the port address. Also added a '-a' (for alternate) option so that
it'll use the 0x18 instead of 0x08.

>
> (even though /dev/lp2 is symlinked to /dev/parport0)

Probably should be /dev/lp0 instead of /dev/parport0. Lastly that open in
init_port is essentially spurious. The more serious mapping problem is
the /dev/lpX port name to it's address.

But in short I have a copy that should work. It doesn't look like there were
any severe changes from 2.2 to 2.4.

Hope that I gave you some things to consider. Let me know if you need a
copy of the updated picprg.

BAJ

--
http://www.piclist.com hint: To leave the PICList
piclist-unsubscribe-requestspamKILLspammitvma.mit.edu


2001\05\26@201310 by chuck

flavicon
face
--- Byron A Jeff <.....byronKILLspamspam.....CC.GATECH.EDU> wrote:
>There are a couple of drawbacks with the bootloader. First is that it
>takes up
>memory, 1.5K's worth. While cheap for the 877 (with 8K). It may be too
>much memory cost for the smaller parts.

Most available PIC bootloaders use just the top 256 bytes of memory.
Similar to the Microchip ICD.
I agree with Jeff though, that a bootloader is the better way to go.
I do most of my development with the microEngineering Labs bootloader
or the Free bootloader from workingtechnologies.com . When your done
you can recompile or re-assemble the code to a smaller PIC.

If your just starting out, we sell bootloader packages with 16f877 or
16F876 development board, cable an software at
http://www.bootload.com
and
http://www.elproducts.com


=====
Chuck Hellebuyck
Electronic Products
EraseMEchuckspam_OUTspamTakeThisOuTelproducts.com
*****Program PICs Like a Pro*********
Complete package for only $279.95
Includes: PBPro Compiler, EPIC Programmer, 16F84 PIC, Cable & Batteries
http://www.elproducts.com

__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/

--
http://www.piclist.com hint: To leave the PICList
piclist-unsubscribe-requestspamspam_OUTmitvma.mit.edu


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