??? 01/05/07 07:13 Read: times |
#130400 - I did that in a CAN environment with CC01/03 Responding to: ???'s previous message |
You can copy your hexfile with an offset into FLASH, include some kind of checksum to your hexfile, check it after receiving, then copy the whole thing to 0x0000. With CC01 I ran into problems trying to copy more than 16bytes per ISP call.
I solved insystem programming through CAN like that: created a small project called "ISPload" which does the receiving and programming of the new program and located it at 0x7000. It does not use any interrupts. ISPload uses the same node ID that was used for the normal application. It also contains some functions as jump back to 0x0000 (restart) and some handshake functions. It's a couple of 100bytes long. I did not include a fallback mechanism in case something goes wrong. Actually during development, some things went wrong, I had to reinstall the program through the onboard Bootloader using FLIP. My standard project contains a jump to 0x7000 (ISPload) which can be issued on CAN command input. You can prepare Adressing through your standard project OR include it in "ISPload" |
Topic | Author | Date |
IAP on Atmel 89C51AC2 | 01/01/70 00:00 | |
I done it in AT89c51ED2 | 01/01/70 00:00 | |
I did that in a CAN environment with CC01/03![]() | 01/01/70 00:00 |