cavemanTryingHisBest
New member
Hi all,
Recently I started a new project using the Teensy MicroMod with the Sparkfun ATP carrier board.
I'd like to use the onboard W25Q128JV-DTR for storing user settings + data, but the chip just... never initializes, with the code hanging on FS object's "
I'm unable to get any LittleFS example running using either QSPIFlash or QSPINAND objects.
Not even this sample code runs (source). It hangs on "
I took a look at
Not sure where to go from there...
When I can't get hardware working I usually assume I messed up somewhere with hookup or software setup, but the chip came pre-installed so unless it's busted I have no idea what I'm doing wrong here.
FWIW my main project (which doesn't use LittleFS at all) runs flawlessly on the micromod while using multiple i2c ports, uart ports, rtc, usbhost, etc...
Any help is appreciated!
Recently I started a new project using the Teensy MicroMod with the Sparkfun ATP carrier board.
I'd like to use the onboard W25Q128JV-DTR for storing user settings + data, but the chip just... never initializes, with the code hanging on FS object's "
begin()
" method.I'm unable to get any LittleFS example running using either QSPIFlash or QSPINAND objects.
Not even this sample code runs (source). It hangs on "
myfs_NOR.begin()
"
C++:
//===============================================================================
// Find Optional Memory Chips on Teensy 4.1
//===============================================================================
#include "LittleFS.h"
extern "C" uint8_t external_psram_size;
//===============================================================================
// Initialization
//===============================================================================
void setup() {
Serial.begin(115200); //Initialize USB serial port to computer
// Check for PSRAM chip(s) installed
uint8_t size = external_psram_size;
Serial.printf("PSRAM Memory Size = %d Mbyte\n", size);
if (size == 0) {
Serial.println ("No PSRAM Installed");
}
// Check for either NOR or NAND Flash chip installed
LittleFS_QSPIFlash myfs_NOR; // NOR FLASH
LittleFS_QPINAND myfs_NAND; // NAND FLASH 1Gb
// Check for NOR Flash chip installed
if (myfs_NOR.begin()) {
Serial.printf("NOR Flash Memory Size = %d Mbyte / ", myfs_NOR.totalSize() / 1048576);
Serial.printf("%d Mbit\n", myfs_NOR.totalSize() / 131072);
}
// Check for NAND Flash chip installed
else if (myfs_NAND.begin()) {
Serial.printf("NAND Flash Memory Size = %d bytes / ", myfs_NAND.totalSize());
Serial.printf("%d Mbyte / ", myfs_NAND.totalSize() / 1048576);
Serial.printf("%d Gbit\n", myfs_NAND.totalSize() * 8 / 1000000000);
}
else {
Serial.printf("No Flash Installed\n");
}
}
void loop() {
// put your main code here, to run repeatedly:
}
I took a look at
LittleFS.cpp
and uncommented all of the existing Serial.println()
statements in LittleFS_QSPIFlash::begin()
and found the code is hanging at line 765: "flexspi2_ip_read(8, 0x00800000, buf, 3)
"Not sure where to go from there...
When I can't get hardware working I usually assume I messed up somewhere with hookup or software setup, but the chip came pre-installed so unless it's busted I have no idea what I'm doing wrong here.
FWIW my main project (which doesn't use LittleFS at all) runs flawlessly on the micromod while using multiple i2c ports, uart ports, rtc, usbhost, etc...
Any help is appreciated!