gnupic: Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc)


Previous by date: 25 Jul 2006 15:27:52 +0100 Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc), Byron A Jeff
Next by date: 25 Jul 2006 15:27:52 +0100 Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc), mengjin su
Previous in thread: 25 Jul 2006 15:27:52 +0100 Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc), Byron A Jeff
Next in thread: 25 Jul 2006 15:27:52 +0100 Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc), mengjin su

Subject: Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc)
From: "Tamas Rudnai" ####@####.####
Date: 25 Jul 2006 15:27:52 +0100
Message-Id: <492f1420607250727h3db02f03v6b300b74d95e5001@mail.gmail.com>

I am still wondering what are the advantage of a bootloader / bootstrap? Is
is because you would like to make it possible to update the firmware by the
user / engeneer?

Thanks
Tamas


On 25/07/06, Byron A Jeff ####@####.#### wrote:
>
> On Mon, Jul 24, 2006 at 05:59:22PM -0500, Frank Sergeant wrote:
> > The Pikme PIC Bootloader is available at
> >
> >           http://pygmy.utoh.org/pikme
> >
> > I call it "The World's Simplest PIC Bootloader".
>
> I took a read. Very impressive!
>
> > It is set up for the PIC16F819 but should be easy to modify for other
> > PIC variants that are capable of programming their own flash memory.
>
> Cool. And it already has the Row Erase Routine in it.
>
> > All source is included and commented extensively.  License is
> > MIT/BSD-style.
>
> Again Excellent! The bootloader I was working with
> (Octavio Nogueira's ####@####.#### 16F819 bootloader from 2004
> had similar licensing requirements.
>
> > The downloader is in Python.  I run it under Linux (Debian) but it
> > should run at least on Unix/Linux/Windows (anywhere Python and its
> > serial module run).
>
> Good choice. That's make the code portable.
>
> > It uses only half of an I/O pin on the PIC (that is, it can use an
> > input-only pin) and even that pin can be used for other purposes by the
> > application, providing it doesn't wiggle at boot time.
>
> Interesting choice. That's getting close to Wouter van Ooijen's ZPL
> which used wiggling on MCLR to reset the PIC after specific time delays.
> The length of time that the PIC ran determined the bit transmitted.
> ZPL = Zero Pin Loader.
>
> > It uses a one-way serial interface from the PC to the PIC (so, 2 wires:
> > the PC's TX pin and ground).  It is bit-banged to do inverted TTL serial
> > (fake RS232) so that no MAX232 or similar is needed.
>
> Depending on the serial port, this may be a problematic choice.
> Unfortunately
> some serial ports don't even come close to generating the 4V required to
> register as a 1 on the PIC. And unfortunately it's in spec because RS-232
> allows for 3V or higher to be a valid signal.
>
> Also I read your pinouts.txt file. Using a pot to tune the voltage is a
> bit
> time consuming. A better choice may be to refer back to Wouter's El-Cheapo
> serial bootloader interface. The schematic is located here:
>
> http://www.voti.nl/wloader/wl2-2.gif
>
> A description can be found for the WLoader project in the parent directory
> of that image file. Simply put the R2/D1 resistor/5V zener interface is
> sufficient to solve all of the voltage issues, giving output from about
> -0.5V to 4.7V or so to the PIC pin. No tuning necessary.
>
> It's the interface I use on all of my current bootloader projects and it
> works well.
>
> Note that Wouter voices some concerns with trusting the PIC protection
> diodes to clamp and keep the part working properly. Frankly since a 10
> cent zener (well a 65 cent one if you buy from the RatShack) can easily
> do the job, why not use it?
>
> > I use it with the RA5/Vpp/MCLR* pin but 3 equates in the source code
> > allow you to use another I/O pin if you prefer.
>
> In addition you can switch to a full I/O pin, add the R1/R3 resistors and
> get a serial output channel on that same pin.
>
> > The downloader picbl.py needs the name of the hex file and the number of
> > the serial port.  So, to download dummy1.hex via the second serial port
> > (COM2: on Windows, /dev/ttyS1 on Linux), you would run something like
> >
> >        python picbl.py dummy1.hex 1
>
> Cool.
>
> > I'll be glad to have feedback on it and will try to adjust the
> > documentation if anything isn't clear.
>
> Clear as freshly wiped glass. I keep debating to myself how important is
> robustness and verification in the bootloading process. I'm been
> working on Tato's bootloader on and off and here are some of the specs
> I've come up with:
>
> - Using 'U' as the syn character for autobauding.
>
> - Sending packets with checksums to allow for verification. Currently I
> plan to implement the TCP checksum with the wrap around carry. I've also
> looked at Fletchers and add/triple/add as other checksum techniques.
>
> - Using the single pin half duplex scheme of Wouter's to allow for output
> and verification.
>
> - I was thinking of locating the entire bootloader in low memory. It seems
> to me once the application cannot be transparent and must account for low
> memory that the bootloader can occupy low memory.
>
> - Finally I'm trying to figure out how to build a Trivial programmer that
> runs from the serial port. Something along the lines of Tony Nixon's
> ASCII programmer here:
>
> http://www.piclist.com/techref/com/picnpoke/www/http/projects/prog.html
>
> My first attempt (the Trivial BootStrap 555) is incomplete only because
> I keep trying to get verification working. I've built and tested the
> transmitter and it latches bits just fine. So it should be able to program
> just fine. And now I have yet another fine Python program (along with
> Wouter's ZPL loader in Python) to use to wiggle the bits.
>
> Frank, this is a fine effort and very much apprciated. I have an intern
> working on PIC bootloader stuff. I'm going to forward your stuff to him
> and get him to test it out and adapt it for the 16F88, which is our chip
> of choice. I'll let you know of any results that come from it.
>
> Thanks again.
>
> BAJ
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ####@####.####
> For additional commands, e-mail: ####@####.####
>
>

Previous by date: 25 Jul 2006 15:27:52 +0100 Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc), Byron A Jeff
Next by date: 25 Jul 2006 15:27:52 +0100 Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc), mengjin su
Previous in thread: 25 Jul 2006 15:27:52 +0100 Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc), Byron A Jeff
Next in thread: 25 Jul 2006 15:27:52 +0100 Re: [gnupic] [ANN] Pikme PIC Bootloader (for 16F819 etc), mengjin su


Powered by ezmlm-browse 0.20.