Hopefully this helps someone in the future...
Atmel has confirmed that some of the AT91SAM7X devices will fail when programming the Flash via IAP. SAM-BA already has this patch. I am told that this issue is related to a small number of parts with a particular firmware revision. We came across this issue with the following lot and date codes. LotID : 6R2889, Date_Code : 0633
From the Atmel report:
Report Date: March 29th 2010
Atmel Reference #: FA#100561
Quote:
Root Cause:
Due to a test coverage issue at production level, a Flash Programming issue where some devices cannot be programmed correctly has been confirmed recently on SAM7xx devices. The programming issue really depends on the pattern (binary or data) used to program the Flash memory.
The failure rate depends on operating temperature, VDDCORE voltage and process variations. The worst case conditions are reached with a maximum voltage on VDDCORE, 1.95V and at maximum temperature, +85°C.
This issue is related to the programming phase only, thus it is not going to have any influence on Flash content once the device has been programmed correctly.
For applications which require data programming or self firmware upgrade so called In Application Programming (IAP), it is mandatory to apply the below software workaround to modify the Flash Programming sequence accordingly.
Comment:
This has been found in the beginning of mass production and is corrected now.
Here is the recommended work around if anyone is using IAP. BTW Atmel recommends that this be applied for all AT91SAM7x devices that use IAP.
Quote:
The workaround that has been validated by the design, application and product engineering teams is a software workaround which consists in programming the Flash in two steps described just below:
First step: Program even words with autoerase
• load even words to be programmed in the page only
• write even words using autoerase (full page autoerase, + write page mode)
Second step: Program odd words without autoerase
• load odd words to be programmed in the page
• write odd words without autoerase
In order to help the customer, the above sequence has been implemented within a patch for our AT91-ISP Flash Programming Tool named SAM-BA.