A discussion group for the PICMicro microcontroller. Also called the Microchip PIC, this list is dedicated to the use and abuse of this fine, simple, microcontroller. Close to topic posts are welcome, ie. general electronics.
|
> This sounds really fascinating, I really wish I had the time. Silly question > but why do you want to be able to relocate code on the 16F628? It can't > program itself so you can't use a bootloader with it. Were you planning on > using a 16F88? No, I wasn't clear about the requirement. For me, it is easier to develop code on a 16F877 with a boot loader. I have a prototype board all set up for this and, given a choice, I will use this first. Its really just the MiniSumo Mark III chip preprogrammed with a boot loader and I use the related BotLoader application for downloading. When the code was functioning I just changed the device type which, through conditional assembly, cleaned up the starting code and changed the port initialization. I then programmed a 16LF628 so I could operate at 3.3V to match the requirement of the display driver. The 18 pin device is a bit of overkill as I don't use any of the PORT A pins but I have a few on hand and a bit of experience with it. I have no issue with limited functionality of demo software and I have no issue paying for software I use. But the limiting factor for my little project was the requirement to accomodate the boot loader. There were alternatives, I just took the easy way out and copied/pasted ASM code from other projects. I really did want to use a HLL, mostly due to the debate we had a week of so back. I stumbled around for a few hours, threw up my hands in surrender and went back to ASM. The other day I was thinking about the meta assembler idea you mentioned. I thought I might need to write one as the P4 compiler emits p-code in text form. The interpreter for the CDC 6600 is written in Pascal (for the distribution kit only, I suspect) and assembles the code during loading. I stripped out big chunks of the interpreter and changed the assembler component to emit a listing with address, opcodes (and related fields) and the original assembly text. I also added the ability to generate the text required for initializing the internal BlockRAM of the FPGA. At the moment code is downloaded to the FPGA when the device is initialized and is retained in the Platform Flash PROM. Oh, and all of this using Free Pascal on my Fedora Linux box! A very nice Linux, by the way. I highly recommend the Xilinx Spartan 3 Starter Board as a place to start with FPGAs. It's not the only board I use but it is the one I am using for this project. At about $100 the price is more than fair! > > > Regards > Sergio Masci > > htp://www.xcprod.com/titan/XCSB - optimising PIC compiler > FREE for personal non-commercial use |