Bootloader for 16f87/88 that doesn't use UART


Closed Thread
Results 1 to 34 of 34

Hybrid View

  1. #1
    Join Date
    Feb 2003
    Location
    Sydney, Australia
    Posts
    126

    Default Bootloader for 16f87/88 that doesn't use UART

    I have a board with a 16f87 that has a two way PC connection that is bit banged, with the HW UART used to transmit a high speed one way signal to some other equipment.

    What I would like to do is add a bootloader to simlify reloading or updating firmware.

    I've done a quick search and it seems all the usual suspects need to use the HW UART for bootloader activity. I saw a thread a while back about the SparkFun bloader being able to use any pin, but it seems its not so.

    So has anyone seen a bl for a 16f87 that allows the use of a software uart ?? What would be great is one written in pbp, as it would be easy to maintain and make changes to led flashing when in boot mode etc.

    with thanks,

    bill

  2. #2
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Sure it exist or at least it could be done... as long as you're aware and you agree that the bootloader firmware will be way bigger and you're not code limited...

    But... why you don't want to use the hw USART?

    I saw once a 1 pin bootloader, and didn't used the HW USART, Wloader if my memory serves me well.

    There's also that one using MCLR pin... omg, what was it's name... ZPBL or ZPL.

    what i suggest is to look at TinyBootloader page, there's few suggestions over there.
    Last edited by mister_e; - 2nd January 2008 at 09:24.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  3. #3
    Join Date
    Feb 2003
    Location
    Sydney, Australia
    Posts
    126


    Did you find this post helpful? Yes | No

    Default

    Hi Steve,

    Code space is not an issue. I cannot use the hw uart as I need it to generate rs485 at 250Kbaud ! On the PCBs it is wired as TX only, but even so I have not seen a half-duplex bootloader (please correct me, anyone..)

    I looked at TinyBootloader earlier, but again it is tied to HW UART pins.

    I'll keep looking. I found a mention on the Spark Fun site that bloader 1.6 could handle the 16f819, which doesn't have a uart. Maybe a bit iof creative code work is required...

    bill

  4. #4
    Join Date
    Dec 2005
    Posts
    1,073


    Did you find this post helpful? Yes | No

    Default

    Scroll to the bottom of the TinyBootloader main page and there's a list, with links, of other bootloaders, including ZPL and WLoader, which do not use the UART.

  5. #5
    Join Date
    Oct 2004
    Posts
    448


    Did you find this post helpful? Yes | No

    Default RomZap?

    Very early on, Tony Nixon used to have just such a bootloader, RomZap. Not only could it use any pin, it also had an option to invert (or not) the signal, making it ideal for direct connection to the serial port. To my knowledge, development on this stopped a while ago, so I'm not sure about the support for 16F87. In case you are interested, I could mail you a copy, since Tony had kept it free.

    Regards,

    Anand

  6. #6
    Join Date
    Oct 2004
    Posts
    19


    Did you find this post helpful? Yes | No

    Default Bootloader for 16f87/88 that doesn't use UART

    Melabs had their meloader no longer sold perhaps if you call them they'll sell you one.(it's a great piece of software)
    also basicmicro sells their programmer you can build a loader within their programming software
    for any pin.( at least it use to be this way but you may want to take a peek)

    Victor

  7. #7
    Join Date
    Feb 2003
    Location
    Sydney, Australia
    Posts
    126


    Did you find this post helpful? Yes | No

    Default

    Found a couple of options:
    WLOADER - http://www.voti.nl/wloader/index_1.html
    this allows any pin to be used and can work with a single pin. SRC code is in ASM with a command line Windows option (with Source in Delphi) or a Wiindows based app in Python.

    PIC_E - http://www.ehl.cz/pic/pic_e.htm
    Uses hardware UART, but has nice Delphi front end for PC and source code for PIC in ASM.

    I am now looking at re-writing the PIC_E firmware using PBP to make it work with out the UART for my specific PIC.

    These two don't have 16F87/88 definitions, but looking at the source it shouldn't be too hard to add the required info.

    I might also look into RomZap - I remember reading about it a few years ago when I first toyed with the idea. Anand, if you have a copy could you email it or PM me.

    If I get it going I'll upload it here.

    Bill

  8. #8
    Join Date
    Feb 2003
    Location
    Sydney, Australia
    Posts
    126


    Did you find this post helpful? Yes | No

    Default

    ROMzap - http://piclist.com/images/com/bubble...mo/ROMzap.html

    Looks pretty advanced for what I need - it seems to use UART, although it does support the 16F872 which doesn't have a UART.

    I am downloading it now and will dig in to the Source files (if they are in the ZIP) to see how customisable it will be.

    So has anyone ever written a bootloader in PBP??

    bill.

  9. #9
    Join Date
    Oct 2004
    Posts
    19


    Did you find this post helpful? Yes | No

    Default Basic bootloader

    Take a look at this code maybe it will help.
    http://www.oshonsoft.com/picbootloader.html
    victor

  10. #10
    Join Date
    Feb 2003
    Location
    Sydney, Australia
    Posts
    126


    Did you find this post helpful? Yes | No

    Default

    Hi Victor,

    Fantastic ! That gives me a good starting point. The PC applicatin looks a lot like the PIC_E one.

    Looks like I am going to spend Sunday in the shed learning how to bootload !!

    With Thanks,
    Bill.
    Last edited by bcd; - 6th January 2008 at 00:49. Reason: Edited to make sense !!

  11. #11
    Join Date
    Oct 2004
    Posts
    448


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by bcd View Post
    ROMzap - http://piclist.com/images/com/bubble...mo/ROMzap.html

    Looks pretty advanced for what I need - it seems to use UART, although it does support the 16F872 which doesn't have a UART.

    I am downloading it now and will dig in to the Source files (if they are in the ZIP) to see how customisable it will be.

    bill.
    Yes, the interface does look a bit complex first, but thats because its so configurable. Once you figure out the things you need, its a breeze to use. No it doesnt use the UART; you could use any pin for the bit banging.

    Pity it only supports the 16F8XX chips, though; if you are able to adapt it for others, I would love to hear about it too... it was my preferred bootloader for a long time, till I had to switch over to the one from Mecanique. I still miss the flexibility and the option of not having to use a level shifter.

    Regards,

    Anand

  12. #12
    Join Date
    Dec 2005
    Posts
    1,073


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by bcd View Post
    So has anyone ever written a bootloader in PBP??
    See http://www.picbasic.co.uk/forum/showthread.php?t=4498

  13. #13
    Join Date
    Dec 2005
    Posts
    1,073


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by bcd View Post
    If I get it going I'll upload it here.
    That would be great. I have several applications where I'd like to use a 16F88 with a bootloader well enough documented for me to write Windows/Linux/Mac interfaces (using PureBasic) but the bootloader, itself, is beyond my skill level.

  14. #14
    Join Date
    Feb 2003
    Location
    Sydney, Australia
    Posts
    126


    Did you find this post helpful? Yes | No

    Default

    After a weekend in the shed I have learned more about the memory layout and programming requirements of the 16f87/88 then I think I ever wanted to know.

    Darrel Taylor - Excellent piece of advice re the ERASE / Write cycle. I am investigating the best way to do this, as well as making sure we don't overwrite the bootloader at the high end.

    dhouston - Thank you for the link to the thread on the 18F bootloader. There is some great info on reorganising the libary to get round some jumps to 0 that I had been seeing in some hex code I created.

    There is so much to learn and so much more playing to do. Stand by everyone - its coming ! We are at 650 words, but I am trying some tricks to squish that down as there are other things I would like to add.

    bill.

  15. #15
    Join Date
    Dec 2005
    Posts
    1,073


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by bcd View Post
    There is so much to learn and so much more playing to do. Stand by everyone - its coming ! We are at 650 words, but I am trying some tricks to squish that down as there are other things I would like to add.
    Once you post what you have, Darrel Taylor and Bruce Reynolds likely to suggest further improvements.

Similar Threads

  1. PIC18F4680 bootloader
    By vinyl_theif in forum General
    Replies: 1
    Last Post: - 29th January 2009, 17:45
  2. 18F4550 Bootloader enter via eeprom setting
    By bradb in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 22nd November 2008, 23:51
  3. USBDemo with Bootloader
    By vacpress in forum USB
    Replies: 4
    Last Post: - 25th January 2007, 22:29
  4. Bootloader Problems
    By rossfree in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 11th February 2005, 17:51
  5. Replies: 3
    Last Post: - 26th January 2005, 13:41

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts