Flash problem after replacing AT25DF041A with -B

Technical questions regarding the XTC tools and programming with XMOS.
schlitte
New User
Posts: 2
Joined: Tue Nov 19, 2013 10:09 am

Flash problem after replacing AT25DF041A with -B

Post by schlitte »

Dear community,

after changing the flash in my XS1-L1-128-based design, xflash fails with "failed to recognize attached flash device". The old flash was Atmel AT25DF041A, the new one is Adesto AT25DF041B. From my point of view, the memory chips are equivalent, apart from the newer -B device having a smaller form factor and supporting larger supply voltage range and slightly higher maximum frequency.

Does anybody have an idea what might be wrong? Any feedback is appreciated.

Thanks in advance

Sebastian


henk
Respected Member
Posts: 347
Joined: Wed Jan 27, 2016 5:21 pm

Post by henk »

Hi Sebastian,

It is worth checking in the documentation if the two flashes have the same identifier.

If not, and if it is not in the tools, you need to create a flash spec and pass it to xflash.

Cheers,
Henk
schlitte
New User
Posts: 2
Joined: Tue Nov 19, 2013 10:09 am

Post by schlitte »

Hi Henk,

thanks for your quick reply. Indeed, the two chips respond with different IDs. AT25DF041A uses "1F 44 01", -B returns "1F 44 02". With the modified flash definition pasted below, everything works fine.

Thank you very much for your help!

Sebastian



----------------------- 8< ---------------------------------
2, /* 1. libflash device ID */
256, /* 2. Page size */
2048, /* 3. Number of pages */
3, /* 4. Address size */
8, /* 5. Clock divider */
0x9f, /* 6. RDID cmd */
0, /* 7. RDID dummy bytes */
3, /* 8. RDID data size in bytes */
0x1f4402 /* 9. RDID manufacturer ID */
0xD8, /* 10. SE cmd */
0, /* 11. SE full sector erase */
0x06, /* 12. WREN cmd */
0x04, /* 13. WRDI cmd */
PROT_TYPE_SECS, /* 14. Protection type */
{{0,0},{0x36,0x39}}, /* 15. SR protect and unprotect cmds */
0x02, /* 16. PP cmd */
0x0b, /* 17. READ cmd */
1, /* 18. READ dummy bytes*/
SECTOR_LAYOUT_IRREGULAR, /* 19. Sector layout */
{0,{11,{8,8,8,8,8,8,8,7,5,5,6}}}, /* 20. Sector sizes */
0x05, /* 21. RDSR cmd*/
0x01, /* 22. WRSR cmd */
0x01, /* 23. WIP bit mask */