On Sat, Jun 26, 2004 at 01:40:56PM -0700, Bob Axtell wrote: > I am VERY interested in the F1688 Bootloader project. I have a > specific need for one, so that the client can change the 688 firmware > whenever needed. I think we all have a need for a 16F819/16F88 bootloader! Have you taken a look at Tato's PLoader here?: http://propic2.com/ploader It's a bit banged serial loader targeted for the 16F819. While I haven't gotten to testing yet, it should work fine for a 16F88 as written, and with trivial modifications (setting/resetting PCLATH) the loader should be able to move to the last page of the 16F88 program memory space. See my post to Victor as to why I like the bit banged idea. Now Kyrre's is sounding like a tight USART based loader what will have its uses too. I'm glad that I can stand on the sidelines and cheer, because I do think that it'll benefit many of use as we proceed. > > It might be very helpful if you make 1 or 2 more registers available for > debugging, where you can press the reset button, and if those registers > are not the DEFAULT value, let them be read by your bootlegger as a > primitive debug tool. The way it would work is to copy to these > registers anything valuable you'd like to see, or verification of a > pathway (by setting bits in the debug register as the particular routine > is passed through) That's one way to tackle it. I'll tell you how I've handled it in the past. When using Wouter's Wloader on my 16F877 projects in the past, I realized (with a light switch from Woj, the author of linwload) that the single pin serial interface was still available when the application was running. So instead of just having a couple of registers, that it's possible to send messages and data through the bootloader serial interface. You can see a sample of this in action in my sunrise/sunset outdoor light controller here: http://www.finitesite.com/d3jsys/clock.asm THe dbgout routine along with delay/idelay near the bottom will send a single char down the bootloader serial interface. Routines like printdate and printstr then use the single character routine to send messages. It made desktop testing trivial as you could program, execute, and debug all in a single session with a single application. Finally note how the use of the Timer 2 period register makes short work of the bit rate generator. [IDLE THOUGHT ALERT!]: It would even be cooler if the USARTs bit rate generator could be decoupled from the USART hardware and be used as a 4th independant self resetting on rollover timer. I'd use it like I'm using timer 2 here but bitbang the serial interface with it.[/IDLE THOUGHT ALERT!] > I'll be glad to help you guys debug or verify the Bootloader; having a > card made right now... I need to wire up a quick card and get to testing. But my lawn tractor needs to be fixed first. Priorities, Priorities! BAJ -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics