You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Andriy found that on COBC 3.0 and 2.7 the status register 3 is 0x40 instead of 0x41. Seems like we never noticed that fail until now, but it was always there. A look at the datasheet shows that the bit that makes the difference shows whether the chip is in 3- or 4-byte-address mode. When initializing the chip, we explicitly enter 4-byte-address mode, but since we read 0x40 instead of 0x41 for status register 3, it seems like this does not work. Upon more datasheet reading, I found out that we only use the explicit 4-byte-read/write/erase commands, which always expect a 4-byte address no matter which mode the chip is in. Therefore, the simple solution to the problem is to just remove Enter4ByteAddressMode() from flash::Initialize() and check if status register 3 is 0x40 instead of 0x41.
The text was updated successfully, but these errors were encountered:
Description
Andriy found that on COBC 3.0 and 2.7 the status register 3 is 0x40 instead of 0x41. Seems like we never noticed that fail until now, but it was always there. A look at the datasheet shows that the bit that makes the difference shows whether the chip is in 3- or 4-byte-address mode. When initializing the chip, we explicitly enter 4-byte-address mode, but since we read 0x40 instead of 0x41 for status register 3, it seems like this does not work. Upon more datasheet reading, I found out that we only use the explicit 4-byte-read/write/erase commands, which always expect a 4-byte address no matter which mode the chip is in. Therefore, the simple solution to the problem is to just remove
Enter4ByteAddressMode()
fromflash::Initialize()
and check if status register 3 is 0x40 instead of 0x41.The text was updated successfully, but these errors were encountered: