Sorry, I need to be a little more specific. My project already has TXD and RXD coming out via a MAX202 for RS232 level conversion. These lines have a shared function. They allow control of the project as well as updating of firmware. What I am looking for is this..... 1) At production, project is supplied with bootloader pre-programmed into PIC16F876 via ICSP. 2) Project is supplied with Windows package that does 2 things... A) Allows operating code (for project to perform required functions) to be uploaded B) Allows testing of unit once operating code is loaded 3) When project is powered it is in either of 2 states. A) No operating code has been uploaded (bootloader only is programmed) B) Operating code is programmed and running 4) In Case A of "3", The bootloader receives commands and bytes from the bit-bashed serial link to program the Operating code into Flash ROM. 5) In Case B of "3", The operating code responds to commands via the bit-bashed serial link (eg. Switch LED ON, Read ADC etc). It will also respond to commands to upload new Operating code. In this case it will call the bootloader programming handler. The source for the operating code will normally be written in C (Hi-Tech) which has power-up sequence at start of memory that requires shifting by the bootloader. Regards David Huisman -----Original Message----- From: pic microcontroller discussion list [mailto:PICLIST@MITVMA.MIT.EDU]On Behalf Of Byron A Jeff Sent: Monday, July 30, 2001 10:03 PM To: PICLIST@MITVMA.MIT.EDU Subject: Re: [PIC]: Bootloader using Bit Bashed IO and C Source On Mon, Jul 30, 2001 at 08:48:25AM +1000, David Huisman wrote: > I require a bootloader that utilizes BIT BASHED com to PC instead of using > on-board UART. (Note: the IO MUST be bit-bashed as the UART is already being > used by the project). > > The files that will be uploaded to the micro with the bootloader are written > in C. > The compiler is HI-TECH C. The bootloader is programmed into micro using > MPLAB and the PICSTART PLUS programmer. > > Would someone advise if they have done this exact thing or comment on > whether the code below placed in my C source and used in conjunction with > ROMZAP would do the trick. > > #asm > psect powerup, class=CODE, delta=2 > global powerup, start > powerup: > org 0x3 > goto start > #endasm > > void main() > { > /* C code to go here */ > } Take a look at wloader. http://www.xs4all.nl/~wf/wouter/pic/wloader/ Bit bashed and doesn't require any change in your code. It'll automagically move the code out of the reset vector area. BAJ -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.265 / Virus Database: 137 - Release Date: 7/18/01 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.265 / Virus Database: 137 - Release Date: 7/18/01 -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu