Forrest W Christian wrote: > Well, I am working on a bootloader for the 18f46J11.... > > And came across this snipplet: > > "To maintain the endurance of the program memory cells, each Flash byte > should not be programmed more than once between erase operations. Before > attempting to modify the contents of the target cell a second time, an > erase of the target page, or a bulk erase of the entire memory, must be > performed." > > Add to that: "The minimum erase block is 512 words or 1024 bytes." > > This isn't a big problem for the bootloader (rewriting 1024K at a time > is ok - a bit dangerous in page 0, but not a big issue). What is bad > is that this particular pic doesn't have any flash other than the > program memory, so I in effect get to use the program memory as flash > data memory to store my nonvolatile settings. > > Assuming I am reading my datasheet correctly, that means I get to > reserve 1024 of the 3776 bytes of RAM so I can read the entire block of > configuration memory in, make modifications to it, and then re-write > it. Am I missing something? Yes. You just have to reserve the same amount of RAM as you have config memory/varabels in Flash. There is no reason to save/rewrite flash that you don't use. You have to reserve the full Flash page anyway of course, but you can rewrite the usused Flash area with dummy data. > > -forrest > > > -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist