Hello friend,
I am using microcontroller LPC4370 in my project but when I try to download the code to the external flash using KEIL and ulink-pro debugger I get error message which says "Contents mismatch at: 140000057H (Flash=55H Required=98H) ! and so on. Can anyone please help me regarding this.
Is this a board you created, or someone else?
What kind of validation of the design has been done?
If you think the flash device is failing, you could use a scope or logic analyzer, and you could create test code you could run from RAM to evaluate the performance of the chip and it's behaviour with respect to it's documentation in your system.
Hi,
I created the board by taking LPC-link 2 board as reference board. However external flash memory is different than that of the LPC-link 2. They used "W25Q80BV" and I used "W25Q80DV" as an replacement IC.
I even look into KEIL project inside "C:\Keil_v5\ARM\Flash\LPC18xx43xx_S25FL032", definition does match with my IC. I used same for the LPC-link 2 board and it works well.
To validate, I did continuity test. Also main board doesn't have external flash attached to it so when I remove external flash, KEIL directly shows download fail message, it doesn't show above mentioned messages that is "erase done", "program done" and "content mismatch".
Please help me to understand this problem? Is it because of programming algorithm?
A continuity test is not a functional test.
You'd want to write a test applet that runs in RAM and exercises the flash memory.
The software is currently complaining that what it reads back is not what it sent. Start there, do several reads and confirm if the same content comes back each time. See if there is any pattern to the data coming back, ie does it repeat every 256 bytes, whatever. Once you have the read working, try erasing a small area, and do write/read tests against that.
Once you've validated that your design works properly, you can apply any changes to Keil's flash algorithms that might be required.
If your design does not function correctly, no amount of dancing around with Keil settings/algorithms is going to fix them. The failure you see currently is indicative a problem with your system that you need to analyze and fix.