I'm extremely confused about how we've implemented CRCs for the C6747. My primary confusion stems over a couple things:
- Handling of padding to the end of sections
- Algorithm (lookup vs computation)
My customer has C6747 with d800k001 ROM. He has been using an older version of our AIS-generation tools which were made specifically for d800k001. PROBLEM: A bug in that version of the tools will take a section that's MOSTLY zero (but not completely!) and simply use a "fill" command to load the memory with all zeros!
To further add to the confusion, I see slightly different implementations of the CRC in different places:
- Appendix of the bootloader app note
- OMAP-L137 boot ROM
- OMAP-L138 boot ROM (is this what's in PG2.0 of OMAP-L137/C6747?)
- d800k001 ais generation scripts
Can someone please clarify? This has wasted days of the customer's time and most of my day today.
Thanks,
Brad