2 Replies Latest reply on May 14, 2012 3:30 PM by userc_42988

    ISSP programmer preserve EEPROM?

      First, how do you search the forum?  ( I tried to find the answer myself, but can't even figure out how to search within a forum)


      Anyway, I need to reflash a lot of devices in the field, but preserve the EEPROM which contains calibration data.


      It would save a lot of time (=$) if we don't have to repeat the calibration routine.


      Is this possible with the ISSP programmer?



        • 1. Re: ISSP programmer preserve EEPROM?



          at the right hand upper corner you find a "Keyword Search". The number of found articles are not only restricted to this community, so you'll have to read a bit to find what you're looking for.




          The hex-file-format from which a PSoC1 is programmed allows for gaps (not programmed areas). When all other fails, you'll have to edit the file manually and delete the area where your EEProm-area lies.





          • 2. Re: ISSP programmer preserve EEPROM?

            Thanks for the suggestion, but it didn't seem to work.


            Here's what I did:


            I identified the EEPROM section of flash from E2PROM_1.h


            #define  E2PROM_1_START_ADDR      (0xff * 64)                        // absolute address of E2PROM_1 EEPROM device
            which is 0x3fc0.


            In the .hex file, I deleted the following line.




            Then tried to load the hex file in the ISSP programmer, but it complained that the checksum was invalid.


            So, I initialized the area to zeros in the C code with the following in main.c:


            // clear the EEPROM space
            #pragma abs_address 0x3fc0 //E2PROM_1_START_ADDR
                const char InitialValues[64] = {0x00};
            #pragma end_abs_address


            Now, the EEPROM area is all zeros, and I can delete the line without the ISSP programmer complaining.




            But alas the EEPROM memory was still wiped when flashing.


            Now that I think about it- I guess the chip has to do a full erase in order to be reflashed since it is secured.  Seems like there may be no solution to preserving the calibration data...