-
Couldn't load subscription status.
- Fork 121
Description
Description
Until recently this code worked fine to access the Winbond 25Q16JVIQ Flash chip on the MKR MEM Shield. (This code is recommended by Arduino as the example code for this chip)
It appears that changes (Perhaps somewhere external as the recent changes here dont look like they could cause this issue) have now broken this code as it cannot communicate with this chip anymore.
The JEDEC ID Returned is incorrect and the chip does not work.
I can reproduce this on 5 different sets of new MKR GSM1400 and MKR MEM Shields, and have redownloaded a clean Arduino IDE (run in portable mode for isolation) and new library download.
Steps To Reproduce Problem
Download Arduino IDE.
Connect MKR MEM Shield to Arduino MKR GSM 1400.
Install MKR Board and this library from library manager (or github result is same)
If necessary run EraseEverything example to erase flash. (change CS from 6 to 5)
Open Example: RawHardWareTest.ino
Change FlashChipSelect from 6 to 5 (for the MKR MEM Shield)
Flash code and observer serial monitor.
Hardware & Software
Board: Arduino MKR GSM 1400
Shields / modules used: Arduino MKR MEM Shield
Arduino IDE version: 1.8.13
Version info & package name: Arduino SAMD Boards (1.8.11)
Operating system & version: Windows 10 Pro 20H1
Arduino Sketch
The included RawHardwareTest.ino with only 1 change..
const int FlashChipSelect = 5; // digital pin for flash chip CS pin
Errors or Incorrect Output
Raw SerialFlash Hardware Test
Read Chip Identification:
JEDEC ID: F7 20 A
Part Number: (unknown chip)
Memory Size: 1048576 bytes
Block Size: 65536 bytesReading Chip...
Writing 512 signatures
error writing signature at 0
Read this: 00 00 00 00 0A FA CA 25
Expected: 00 00 00 00 15 F5 95 4BTests Failed :{
The flash chip may be left in an improper state.
You might need to power cycle to return to normal.
As you can see the JEDEC ID is Incorrect and the test fails.