Hello,
I'm in the process of creating binary images to be used to create pre-programmed FLASH parts for a pre-production build of DM355 boards. These binary images contain the calculated inline ECC and reserved bytes needed to the ECC correction. The values were calculated using the genecc utility and programmed using the TI CCS nand writer program modified to deal with the generated OOB information.
This effort has become much more difficult than I expected. My first issue was with a discrepancy between the ECC values calculated by the genecc and those calculated by the TI CCS board utililies nand_programmer. To validate the ECC being generated by the utility, I compared the values being calculated by the programming utility with those from the the genecc utility. The values did not match for the test file of 2048 bytes filled with an incrementing pattern starting at 0. When I changed the pattern within the file to simpler patterns to help trouble shoot the issue, the values did compare with those generated by the CCS nand_programmer. I was using the first block of the FLASH which is guaranteed to be free of any bit errors. This is an inconsistency I recorded and will need to address.
Choosing the ignore the previous issue, I have successfully generated, programmed, and executed, the UBL and u-boot (1.2.0) binaries. I added print statements and forced errors to ensure the ECC was working correctly and it is.
I still have an issue loading the pre-packaged kernel but I suspect the issue may be with the addressing I assigned while programming the part. While I'm sorting out that issue, I wanted to post my experience and ask whether other developers experienced similiar issues with ECC inconsistencies. I believe Jeff Cooper posted an issue with the NAND reads that may be related if the ECC accuracy is data related.
Thanks,
Bob
I'm in the process of creating binary images to be used to create pre-programmed FLASH parts for a pre-production build of DM355 boards. These binary images contain the calculated inline ECC and reserved bytes needed to the ECC correction. The values were calculated using the genecc utility and programmed using the TI CCS nand writer program modified to deal with the generated OOB information.
This effort has become much more difficult than I expected. My first issue was with a discrepancy between the ECC values calculated by the genecc and those calculated by the TI CCS board utililies nand_programmer. To validate the ECC being generated by the utility, I compared the values being calculated by the programming utility with those from the the genecc utility. The values did not match for the test file of 2048 bytes filled with an incrementing pattern starting at 0. When I changed the pattern within the file to simpler patterns to help trouble shoot the issue, the values did compare with those generated by the CCS nand_programmer. I was using the first block of the FLASH which is guaranteed to be free of any bit errors. This is an inconsistency I recorded and will need to address.
Choosing the ignore the previous issue, I have successfully generated, programmed, and executed, the UBL and u-boot (1.2.0) binaries. I added print statements and forced errors to ensure the ECC was working correctly and it is.
I still have an issue loading the pre-packaged kernel but I suspect the issue may be with the addressing I assigned while programming the part. While I'm sorting out that issue, I wanted to post my experience and ask whether other developers experienced similiar issues with ECC inconsistencies. I believe Jeff Cooper posted an issue with the NAND reads that may be related if the ECC accuracy is data related.
Thanks,
Bob
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
