Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 9 of 9

Thread: Errors in T 4.1 with PSRAM and Flash chips

  1. #1

    Errors in T 4.1 with PSRAM and Flash chips

    Hi, guys.

    I have been trying to migrate a project from T 3.6 to T 4.1. In my T 3.6 project I have a Winbond 25Q128FVSG flash chip soldered in the audio board and I decided to upgrade to the new project with a Winbond 25Q256JVEIQ (8 pad WSON) chip and a PSRAM 8MB chip, both soldered in the T 4.1.

    I have tried to test if the soldering was successful, but here is where the trouble begins. I am not sure what libraries I should/can use. First of all I tried the following sketch to check the PSRAM:

    Program: https://github.com/PaulStoffregen/te...am_memtest.ino
    Results:
    Code:
    	EXTMEM Memory Test, 8 Mbyte
    	 CCM_CBCMR=B5AE8304 (88.0 MHz)
    	testing with fixed pattern 5A698421
    	testing with pseudo-random sequence, seed=2976674124
    	testing with pseudo-random sequence, seed=1438200953
    	testing with pseudo-random sequence, seed=3413783263
    	testing with pseudo-random sequence, seed=1900517911
    			(...)
    			
    	 test ran for 36.66 seconds
    	All memory tests passed :-)
    It looks good so I follow with the flash chip. For this one I tried a sketch from the SerfialFlash library:



    Library: SerialFlash
    Program: https://github.com/PaulStoffregen/Se...Everything.ino
    Results:
    Code:
    	Unable to access SPI Flash chip
    I have used this program before with the T3.6, the audio board and the Winbond 25Q128FVSG chip. But I am not sure if this library is compatible with T4.1 flash chip. I have not seen anything about it nor in the documentation neither in the forum. And if it is compatible, I am not sure the selected pin (6) is correct.

    Then I tried with the SPIFFS_t4 and extRAM_t4 libraries. I saw there are two versions of the extRAM_t4 library and I am not sure of the differences, so I tried with both.



    Libraries: SPIFFS_t4 + extRAM_t4
    Program: https://github.com/PaulStoffregen/te...flashtest4.ino
    Results for PSRAM only:
    Code:
    	 Enter 'y' in 6 seconds to format FlashChip - other to skip
    
    	Mount SPIFFS:
    
    	hardware initialized
    
    	ERAM ID: 0D 5D DF FF FF FF FF FF
    	at 0x 7000000
    	Device found!
    
    	Mount ADDR 0x1000000 with res: 0
    	Write file:
    
    	Hello World! What a wonderful World :) Hello World! What a wonderful World :) Hello World! What a wonderful World :) Hello World! What a wonderful World :)  Hello World! What a wonderful World :) Hello World! What a wonderful World :)
    Results for FLASH only:
    Code:
    	 Enter 'y' in 6 seconds to format FlashChip - other to skip
    
    
    	Mount SPIFFS:
    
    	hardware initialized
    
    	FLASH ID: EF 40 19 00 00 00 00 00
    	at 0x 1000000
    	Mount ADDR 0x1000000 with res: 0
    	Write file:
    
    	Hello World! What a wonderful World :) Hello World! What a wonderful World :) Hello World! What a wonderful World :) Hello World! What a wonderful World :)  Hello World! What a wonderful World :) Hello World! What a wonderful World :)
    
    
    	Directory contents:
    
    	my_file [0001] size:234
    	Read file:
    
    	Hello World! What a wonderful World :) Hello World! What a wonderful World :) Hello World! What a wonderful World :) Hello World! What a wonderful World :)  Hello World! What a wonderful World :) Hello World! What a wonderful World :)
    
    
    		ERAM ========== memory map ====== eRAM class ====== check42() : WRITE !!!!
    			ERAM length 0x7FFFFE element size of 1
    		 took 252166 elapsed us
    		ERAM ============================ check42() : COMPARE !!!!
    		+++ NOT 42 Good Run of 184 {bad @ 184}
    	184=     130
    	185=     162
    	186=     162
    	187=     162
    	188=     162
    	189=     162
    	190=     162
    	191=     162
    		+++ NOT 42 Good Run of 440 {bad @ 632}
    	632=     130
    	633=     162
    	634=     162
    	635=     162
    	636=     162
    	637=     162
    	638=     162
    	639=     162
    		+++ NOT 42 Good Run of 15920 {bad @ 16560}
    	16560=       2
    	16561=     162
    	16562=     162
    	16563=     162
    	16564=     162
    	16565=     162
    	16566=     162
    	16567=     162
    	16568=     162
    	16569=     162
    	16570=     162
    	16571=     162
    	16572=     162
    	16573=     162
    	16574=     162
    	16575=     162
    		+++ NOT 42 Good Run of 432 {bad @ 17008}
    	17008=       2
    	17009=     162
    	17010=     162
    	17011=     162
    	17012=     162
    	17013=     162
    	17014=     162
    	17015=     162
    	17016=     162
    	17017=     162
    	17018=     162
    	17019=     162
    	17020=     162
    	17021=     162
    	17022=     162
    	17023=     162
    		+++ NOT 42 Good Run of 1617 {bad @ 18641}
    	18641=      18
    		+++ NOT 42 Good Run of 3104 {bad @ 21746}
    	21746=      34
    		+++ NOT 42 Good Run of 5 {bad @ 21752}
    	21752=     130
    	21753=     162
    	21754=     162
    	21755=     162
    	21756=     162
    	21757=     162
    	21758=     162
    	21759=     162
    		+++ NOT 42 Good Run of 976 {bad @ 22736}
    	22736=       2
    	22737=     162
    	22738=     162
    	22739=     162
    	22740=     162
    	22741=     162
    	22742=     162
    	22743=     162
    	22744=     162
    	22745=     162
    	22746=     162
    	22747=     162
    	22748=     162
    	22749=     162
    	22750=     162
    	22751=     162
    		+++ NOT 42 Good Run of 4089 {bad @ 26841}
    	26841=     146
    		+++ NOT 42 Good Run of 10198 {bad @ 37040}
    	37040=       2
    	37041=     162
    	37042=     162
    	37043=     162
    	37044=     162
    	37045=     162
    	37046=     162
    	37047=     162
    	37048=     162
    	37049=     162
    	37050=     162
    	37051=     162
    	37052=     162
    	37053=     162
    	37054=     162
    	37055=     162
    		+++ NOT 42 Good Run of 4080 {bad @ 41136}
    	41136=       2
    	41137=     162
    	41138=     162
    	41139=     162
    	41140=     162
    	41141=     162
    	41142=     162
    	41143=     162
    	41144=     162
    		+++ NOT 42 Good Run of 8176 {bad @ 49328}
    		+++ NOT 42 Good Run of 1 {bad @ 49339}
    		+++ NOT 42 Good Run of 8180 {bad @ 57520}
    			(.. 1654 lines with similar results)
    		
    		 took 367669 elapsed us
    	Failed to find 42 in ERAM 16025 Times	Found 42 in ERAM 0x7FC165 Times
    
    		ERAM ========== memory map ===== array* ======== check24() : WRITE !!!!
    			ERAM length 0x7FFFFE element size of 1
    		 took 226981 elapsed us
    		ERAM ============================ check24() : COMPARE !!!!
    		+++ Good Run of 721 {bad @ 721}
    	721=     129
    	722=     129
    	723=     129
    	724=     129
    	725=     129
    	726=     129
    	727=     129
    	728=     129
    	729=     129
    	730=     129
    	731=     129
    	732=     129
    	733=     129
    	734=     129
    	735=     129
    	736=     129
    	737=     129
    	738=     129
    	739=     129
    	740=     129
    	741=     129
    	742=     129
    	743=     129
    	744=     129
    		+++ Good Run of 3526 {bad @ 4271}
    	4271=       1
    	4272=     129
    	4273=     129
    	4274=     129
    	4275=     129
    	4276=     129
    	4277=     129
    	4278=     129
    	4279=     129
    	4280=     129
    	4281=     129
    	4282=     129
    	4283=     129
    	4284=     129
    	4285=     129
    	4286=     129
    		+++ Good Run of 4080 {bad @ 8367}
    	8367=       1
    	8368=     129
    	8369=     129
    	8370=     129
    	8371=     129
    	8372=     129
    	8373=     129
    	8374=     129
    	8375=     129
    	8376=     129
    	8377=     129
    	8378=     129
    	8379=     129
    	8380=     129
    	8381=     129
    	8382=     129
    		+++ Good Run of 2618 {bad @ 11001}
    	11001=     161
    	11002=     129
    		+++ Good Run of 2556 {bad @ 13559}
    	13559=     129
    	13560=     129
    	13561=     129
    	13562=     129
    	13563=     129
    	13564=     129
    	13565=     129
    	13566=     129
    		+++ Good Run of 3440 {bad @ 17007}
    	17007=       1
    	17008=     129
    	17009=     129
    	17010=     129
    	17011=     129
    	17012=     129
    	17013=     129
    	17014=     129
    	17015=     129
    	17016=     129
    	17017=     129
    	17018=     129
    	17019=     129
    	17020=     129
    	17021=     129
    	17022=     129
    		+++ Good Run of 5712 {bad @ 22735}
    	22735=       1
    	22736=     129
    	22737=     129
    	22738=     129
    	22739=     129
    	22740=     129
    	22741=     129
    	22742=     129
    	22743=     129
    	22744=     129
    	22745=     129
    	22746=     129
    	22747=     129
    	22748=     129
    	22749=     129
    	22750=     129
    		+++ Good Run of 8366 {bad @ 31117}
    	31117=       1
    	31118=     129
    		+++ Good Run of 1818 {bad @ 32943}
    		+++ Good Run of 2608 {bad @ 35567}
    		+++ Good Run of 9648 {bad @ 45231}
    			(.. 663 lines with similar results)
    		
    		 took 230082 elapsed us
    	Failed to find 24 in ERAM 9590 Times	Found 24 in ERAM 7FDA88 Times
    
    
    	Mount SPIFFS:
    
    	Mount ADDR 0x1000000 with res: 0
    	Directory contents:
    
    	my_file [0001] size:234
    Not sure how to interpret the results, maybe this sketch wasn't supposed to be run with flash only?



    Libraries: SPIFFS_t4 + extRAM_SPIFFS_t4
    Program: https://github.com/PaulStoffregen/te...ram_spiffs.ino
    Results for PSRAM only:
    Code:
    	Mount SPIFFS:
    
    	hardware initialized
    
    	ERAM ID: 0D 7D DF FF FF FF FF FF
    	at 0x 7000000
    	Wrong ID  :-(
    
    	Mount ADDR 0x0 with res: 0
    	Write file:
    
    	Hello World! What a wonderful World :)
    
    	errno -10010
    
    
    	Directory contents:
    
    	Read file:
    
    	errno -10010
    
    
    	Mount SPIFFS:
    
    	Mount ADDR 0x0 with res: 0
    	Directory contents:
    
    
    	Mount SPIFFS:
    Results for FLASH only:
    Code:
    	hardware initialized
    
    	FLASH ID: EF 40 19 00 00 00 00 00
    	at 0x 1000000
    	Mount ADDR 0x1000000 with res: 0
    	Write file:
    
    	Hello World! What a wonderful World :)
    
    
    	Directory contents:
    
    	my_file [0001] size:234
    	my_file1 [0079] size:38
    	Read file:
    
    	Hello World! What a wonderful World :)
    
    	Mount SPIFFS:
    
    	Mount ADDR 0x1000000 with res: 0
    	Directory contents:
    
    	my_file [0001] size:234
    	my_file1 [0079] size:38
    Both failed in this one.



    Libraries: SPIFFS_t4 + extRAM_SPIFFS_t4
    Program: https://github.com/PaulStoffregen/te...flashtest6.ino
    Results for PSRAM only:
    Code:
    	 Enter 'y' in 6 seconds to format FlashChip - other to skip
    
    
    	Mount SPIFFS:
    
    	hardware initialized
    
    	ERAM ID: 0D 5D DF FF FF FF FF FF
    	at 0x 7000000
    	Device found!
    
    	Mount ADDR 0x0 with res: 0
    	Write file:
    
    	Hello World! What a wonderful World :)
    
    	errno -10010
    
    
    	Directory contents:
    
    	Read file:
    
    	errno -10010
    
    
    
    		ERAM ========== memory map ====== eRAM class ====== check42() : WRITE !!!!
    			ERAM length 0x7FFFFE element size of 1
    		 took 266086 elapsed us
    		ERAM ============================ check42() : COMPARE !!!!
    		+++ NOT 42 Good Run of 184 {bad @ 184}
    	184=     130
    	185=     162
    	186=     162
    	187=     162
    	188=     162
    	189=     162
    	190=     162
    	191=     162
    		+++ NOT 42 Good Run of 20472 {bad @ 20664}
    	20664=     130
    	20665=     162
    	20666=     162
    	20667=     162
    	20668=     162
    	20669=     162
    	20670=     162
    	20671=     162
    		+++ NOT 42 Good Run of 10808 {bad @ 31480}
    	31480=     130
    	31481=     162
    	31482=     162
    	31483=     162
    	31484=     162
    	31485=     162
    	31486=     162
    	31487=     162
    		+++ NOT 42 Good Run of 1464 {bad @ 32952}
    	32952=     130
    	32953=     162
    	32954=     162
    	32955=     162
    	32956=     162
    	32957=     162
    	32958=     162
    	32959=     162
    		+++ NOT 42 Good Run of 8184 {bad @ 41144}
    	41144=     130
    	41145=     162
    	41146=     162
    	41147=     162
    	41148=     162
    	41149=     162
    	41150=     162
    	41151=     162
    		+++ NOT 42 Good Run of 8184 {bad @ 49336}
    	49336=     130
    	49337=     162
    	49338=     162
    	49339=     162
    	49340=     162
    	49341=     162
    	49342=     162
    	49343=     162
    		+++ NOT 42 Good Run of 2616 {bad @ 51960}
    	51960=     130
    	51961=     162
    	51962=     162
    	51963=     162
    	51964=     162
    	51965=     162
    	51966=     162
    	51967=     162
    		+++ NOT 42 Good Run of 3448 {bad @ 55416}
    	55416=     130
    	55417=     162
    	55418=     162
    	55419=     162
    	55420=     162
    	55421=     162
    	55422=     162
    	55423=     162
    		+++ NOT 42 Good Run of 4088 {bad @ 59512}
    	59512=     130
    	59513=     162
    	59514=     162
    	59515=     162
    	59516=     162
    	59517=     162
    	59518=     162
    	59519=     162
    		+++ NOT 42 Good Run of 7288 {bad @ 66808}
    	66808=     130
    	66809=     162
    	66810=     162
    	66811=     162
    	66812=     162
    	66813=     162
    	66814=     162
    	66815=     162
    		+++ NOT 42 Good Run of 976 {bad @ 67792}
    	67792=       2
    	67793=     162
    	67794=     162
    	67795=     162
    	67796=     162
    	67797=     162
    	67798=     162
    	67799=     162
    	67800=     162
    	67801=     162
    	67802=     162
    	67803=     162
    	67804=     162
    	67805=     162
    	67806=     162
    	67807=     162
    		+++ NOT 42 Good Run of 529 {bad @ 68337}
    	68337=      18
    		+++ NOT 42 Good Run of 2559 {bad @ 70897}
    	70897=      18
    	70898=      34
    	70899=     162
    		+++ NOT 42 Good Run of 19396 {bad @ 90296}
    		+++ NOT 42 Good Run of 4087 {bad @ 94384}
    		+++ NOT 42 Good Run of 9282 {bad @ 103668}
    		+++ NOT 42 Good Run of 892 {bad @ 104564}
    		+++ NOT 42 Good Run of 14392 {bad @ 118960}
    		 (... 1K+ lines with similar results)
    		
    		 took 311724 elapsed us
    	Failed to find 42 in ERAM 11067 Times	Found 42 in ERAM 0x7FD4C3 Times
    
    		ERAM ========== memory map ===== array* ======== check24() : WRITE !!!!
    			ERAM length 0x7FFFFE element size of 1
    		 took 226816 elapsed us
    		ERAM ============================ check24() : COMPARE !!!!
    		+++ Good Run of 4 {bad @ 4}
    	  4=      81
    		+++ Good Run of 121 {bad @ 126}
    	126=       1
    	127=     129
    	128=     129
    	129=     129
    	130=     129
    	131=     129
    	132=     129
    	133=     129
    		+++ Good Run of 4137 {bad @ 4271}
    	4271=       1
    	4272=     129
    	4273=     129
    	4274=     129
    	4275=     129
    	4276=     129
    	4277=     129
    	4278=     129
    	4279=     129
    	4280=     129
    	4281=     129
    	4282=     129
    	4283=     129
    	4284=     129
    	4285=     129
    	4286=     129
    		+++ Good Run of 1076 {bad @ 5363}
    	5363=      65
    	5364=     129
    	5365=     129
    	5366=     129
    		+++ Good Run of 984 {bad @ 6351}
    	6351=       1
    	6352=     129
    	6353=     129
    	6354=     129
    	6355=     129
    	6356=     129
    	6357=     129
    	6358=     129
    	6359=     129
    	6360=     129
    	6361=     129
    	6362=     129
    	6363=     129
    	6364=     129
    	6365=     129
    	6366=     129
    		+++ Good Run of 2000 {bad @ 8367}
    	8367=       1
    	8368=     129
    	8369=     129
    	8370=     129
    	8371=     129
    	8372=     129
    	8373=     129
    	8374=     129
    	8375=     129
    	8376=     129
    	8377=     129
    	8378=     129
    	8379=     129
    	8380=     129
    	8381=     129
    	8382=     129
    		+++ Good Run of 2072 {bad @ 10455}
    	10455=     129
    	10456=     129
    	10457=     129
    	10458=     129
    	10459=     129
    	10460=     129
    	10461=     129
    	10462=     129
    		+++ Good Run of 2000 {bad @ 12463}
    	12463=       1
    	12464=     129
    	12465=     129
    	12466=     129
    	12467=     129
    	12468=     129
    	12469=     129
    	12470=     129
    	12471=     129
    	12472=     129
    	12473=     129
    	12474=     129
    	12475=     129
    	12476=     129
    	12477=     129
    	12478=     129
    		+++ Good Run of 2608 {bad @ 15087}
    	15087=       1
    	15088=     129
    	15089=     129
    	15090=     129
    	15091=     129
    	15092=     129
    	15093=     129
    	15094=     129
    	15095=     129
    	15096=     129
    	15097=     129
    	15098=     129
    	15099=     129
    	15100=     129
    	15101=     129
    		+++ Good Run of 1904 {bad @ 17007}
    		+++ Good Run of 1616 {bad @ 18639}
    		+++ Good Run of 4090 {bad @ 22745}
    		+++ Good Run of 3092 {bad @ 25839}
    			(... 500+ lines with similar results)
    			
    		 took 229546 elapsed us
    	Failed to find 24 in ERAM 8444 Times	Found 24 in ERAM 7FDF02 Times
    
    
    	Mount SPIFFS:
    
    	Mount ADDR 0x0 with res: 0
    	Directory contents:
    Results for FLASH only:
    Code:
    	Enter 'y' in 6 seconds to format FlashChip - other to skip
    
    
    	Mount SPIFFS:
    
    	hardware initialized
    
    	FLASH ID: EF 40 19 00 00 00 00 00
    	at 0x 1000000
    	Mount ADDR 0x1000000 with res: 0
    	Write file:
    
    	Hello World! What a wonderful World :)
    
    
    
    	Directory contents:
    
    	my_file [0001] size:234
    	my_file1 [0079] size:38
    	Read file:
    
    	Hello World! What a wonderful World :)
    
    
    
    
    		ERAM ========== memory map ====== eRAM class ====== check42() : WRITE !!!!
    			ERAM length 0x7FFFFE element size of 1
    		 took 264831 elapsed us
    		ERAM ============================ check42() : COMPARE !!!!
    		+++ NOT 42 Good Run of 121 {bad @ 121}
    	121=       2
    	122=     162
    	123=     162
    	124=     162
    	125=     162
    	126=     162
    	127=     162
    	128=     162
    	129=     162
    	130=     162
    	131=     162
    	132=     162
    	133=     162
    	134=     162
    	135=     162
    	136=     162
    		+++ NOT 42 Good Run of 47 {bad @ 184}
    	184=     130
    	185=     162
    	186=     162
    	187=     162
    	188=     162
    	189=     162
    	190=     162
    	191=     162
    		+++ NOT 42 Good Run of 5176 {bad @ 5368}
    	5368=     130
    	5369=     162
    	5370=     162
    	5371=     162
    	5372=     162
    	5373=     162
    	5374=     162
    	5375=     162
    		+++ NOT 42 Good Run of 984 {bad @ 6360}
    	6360=     130
    	6361=     162
    	6362=     162
    	6363=     162
    	6364=     162
    	6365=     162
    	6366=     162
    	6367=     162
    		+++ NOT 42 Good Run of 536 {bad @ 6904}
    	6904=     130
    	6905=     162
    	6906=     162
    	6907=     162
    	6908=     162
    	6909=     162
    	6910=     162
    	6911=     162
    		+++ NOT 42 Good Run of 9656 {bad @ 16568}
    	16568=     130
    	16569=     162
    	16570=     162
    	16571=     162
    	16572=     162
    	16573=     162
    	16574=     162
    	16575=     162
    		+++ NOT 42 Good Run of 2616 {bad @ 19192}
    	19192=     130
    	19193=     162
    	19194=     162
    	19195=     162
    	19196=     162
    	19197=     162
    	19198=     162
    	19199=     162
    		+++ NOT 42 Good Run of 1912 {bad @ 21112}
    	21112=     130
    	21113=     162
    	21114=     162
    	21115=     162
    	21116=     162
    	21117=     162
    	21118=     162
    	21119=     162
    		+++ NOT 42 Good Run of 1624 {bad @ 22744}
    	22744=     130
    	22745=     162
    	22746=     162
    	22747=     162
    	22748=     162
    	22749=     162
    	22750=     162
    	22751=     162
    		+++ NOT 42 Good Run of 6104 {bad @ 28856}
    	28856=     130
    	28857=     162
    	28858=     162
    	28859=     162
    	28860=     162
    	28861=     162
    	28862=     162
    	28863=     162
    		+++ NOT 42 Good Run of 4088 {bad @ 32952}
    	32952=     130
    	32953=     162
    	32954=     162
    	32955=     162
    	32956=     162
    	32957=     162
    	32958=     162
    	32959=     162
    		+++ NOT 42 Good Run of 1080 {bad @ 34040}
    	34040=     130
    	34041=     162
    	34042=     162
    	34043=     162
    		+++ NOT 42 Good Run of 1528 {bad @ 35576}
    		+++ NOT 42 Good Run of 1464 {bad @ 37048}
    		+++ NOT 42 Good Run of 4088 {bad @ 41144}
    		+++ NOT 42 Good Run of 26648 {bad @ 67800}
    		+++ NOT 42 Good Run of 2424 {bad @ 70232}
    			(... 1K+ lines with similar results)
    		
    		 took 311628 elapsed us
    	Failed to find 42 in ERAM 11656 Times	Found 42 in ERAM 0x7FD276 Times
    
    		ERAM ========== memory map ===== array* ======== check24() : WRITE !!!!
    			ERAM length 0x7FFFFE element size of 1
    		 took 227683 elapsed us
    		ERAM ============================ check24() : COMPARE !!!!
    		+++ Good Run of 720 {bad @ 720}
    	720=       1
    	721=     129
    	722=     129
    	723=     129
    	724=     129
    	725=     129
    	726=     129
    	727=     129
    	728=     129
    	729=     129
    	730=     129
    	731=     129
    	732=     129
    	733=     129
    	734=     129
    	735=     129
    		+++ Good Run of 535 {bad @ 1271}
    	1271=     129
    	1272=     129
    	1273=     129
    	1274=     129
    	1275=     129
    	1276=     129
    	1277=     129
    	1278=     129
    		+++ Good Run of 3440 {bad @ 4719}
    	4719=       1
    	4720=     129
    	4721=     129
    	4722=     129
    	4723=     129
    	4724=     129
    	4725=     129
    	4726=     129
    	4727=     129
    	4728=     129
    	4729=     129
    	4730=     129
    	4731=     129
    	4732=     129
    	4733=     129
    	4734=     129
    		+++ Good Run of 5712 {bad @ 10447}
    	10447=       1
    	10448=     129
    		+++ Good Run of 8190 {bad @ 18639}
    	18639=       1
    	18640=     129
    	18641=      33
    	18642=     129
    		+++ Good Run of 548 {bad @ 19191}
    	19191=     129
    	19192=     129
    		+++ Good Run of 5558 {bad @ 24751}
    	24751=       1
    	24752=     129
    	24753=     129
    	24754=     129
    	24755=     129
    	24756=     129
    	24757=     129
    	24758=     129
    	24759=     129
    	24760=     129
    	24761=     129
    	24762=     129
    	24763=     129
    	24764=     129
    	24765=     129
    	24766=     129
    		+++ Good Run of 14906 {bad @ 39673}
    	39673=     161
    	39674=     129
    		+++ Good Run of 5556 {bad @ 45231}
    	45231=       1
    	45232=     129
    	45233=     129
    	45234=     129
    	45235=     129
    	45236=     129
    	45237=     129
    	45238=     129
    	45239=     129
    	45240=     129
    	45241=     129
    	45242=     129
    	45243=     129
    	45244=     129
    	45245=     129
    	45246=     129
    		+++ Good Run of 1072 {bad @ 46319}
    	46319=       1
    	46320=     129
    	46321=     129
    	46322=     129
    	46323=     129
    	46324=     129
    	46325=     129
    	46326=     129
    	46327=     129
    	46328=     129
    	46329=     129
    	46330=     129
    	46331=     129
    	46332=     129
    	46333=     129
    	46334=     129
    		+++ Good Run of 8176 {bad @ 54511}
    	54511=       1
    	54512=     129
    		+++ Good Run of 8184 {bad @ 62711}
    		+++ Good Run of 888 {bad @ 63607}
    			(... 500+ lines with similar results)
    		
    		 took 229863 elapsed us
    	Failed to find 24 in ERAM 8803 Times	Found 24 in ERAM 7FDD9B Times
    
    
    	Mount SPIFFS:
    
    	Mount ADDR 0x1000000 with res: 0
    	Directory contents:
    
    	my_file [0001] size:234
    	my_file1 [0079] size:38
    Again, both seemed to have failed, although I am not sure this test was meant to be run for Flash chip. Is the 42 test only for PSRAM?



    Libraries: SPIFFS_t4 + extRAM_SPIFFS_t4
    Program: https://github.com/PaulStoffregen/te...ashtest7Fl.ino
    Results for PSRAM only:
    Code:
    	 Enter 'y' in 6 seconds to format FlashChip - other to skip
    
    
    
    	Mount SPIFFS:
    
    	hardware initialized
    
    	ERAM ID: 0D 7D DF FF FF FF FF FF
    	at 0x 7000000
    	Wrong ID  :-(
    
    	Mount ADDR 0x0 with res: 0
    	Write file:
    
    	Hello World! What a wonderful World :)
    
    
    
    	Directory contents:
    
    	A_loopEFW7C  [003d] size:702
    	my_file1 [0001] size:38
    	Read file:
    
    	Hello World! What a wonderful World :)
    
    
    
    	Mount SPIFFS:
    
    	Mount ADDR 0x0 with res: 0
    	Directory contents:
    
    	A_loopEFW7C  [003d] size:702
    	my_file1 [0001] size:38
    	'ENTER' '2' for Loop Test2
    
    
    
    	Loop Test2
    
    	Directory contents:
    
    	A_loopEFW7C  [003d] size:702
    	my_file1 [0001] size:38
    	A_loopEFW7C  [0079] size:1170
    Results for FLASH only:
    Code:
     Enter 'y' in 6 seconds to format FlashChip - other to skip
    
    
    	Mount SPIFFS:
    
    	hardware initialized
    
    	FLASH ID: EF 40 19 00 00 00 00 00
    	at 0x 1000000
    	Mount ADDR 0x1000000 with res: 0
    	Write file:
    
    	Hello World! What a wonderful World :)
    
    
    
    	Directory contents:
    
    	my_file [0001] size:234
    	my_file1 [0079] size:38
    	Read file:
    
    	Hello World! What a wonderful World :)
    
    
    
    
    
    	Mount SPIFFS:
    
    	Mount ADDR 0x1000000 with res: 0
    	Directory contents:
    
    	my_file [0001] size:234
    	my_file1 [0079] size:38
    	'ENTER' '2' for Loop Test2
    
    
    
    	Loop Test2
    
    	Directory contents:
    
    	my_file [0001] size:234
    	my_file1 [0079] size:38
    	A_loopTest2 [00f1] size:2600
    I saw @defragster created this one explicitly for the Flash chip.


    I am not sure how to interpret all this results. Here are some thoughts/questions:
    - PSRAM passed the test provided by @PaulStoffregen, but it looks like is failing with SPIFFS_t4 + extRAM libraries.
    - I think SerialFlash is not compatible with T 4.1 flash chip, is that right?
    - Not sure if the Flash chip is working properly with SPIFFS_t4 + extRAM libraries, it failed some tests, but maybe they were not for testing flash chip?

    Thank you in advance.

  2. #2
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    12,233
    History - the only WSON chip tested was the 128 MB NAND chip. The NOR Flash tested were the typical 16 MB Winbond chips 'with legs'.

    This is a 32 MB Flash chip that may have an ID that doesn't pass or get properly recognized.

    And indeed certain of those tests were made to work with some variation of the above chips - and the 8MB PSRAM

    The SPIFFS for FLASH was the QSPI most tested sketch for the 16 MB chips. ... Others may have real detail on the steps needed to adapt to this chip perhaps.

  3. #3
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,558
    @JotaEfe13

    Let's start with PSRAM. Using the PSRAM memory test looks like you have your PSRAM installed correctly. However, think you are using the wrong Lib versions for extRAM_t4 and SPIFFS_T4. Recommend using this branch of the libraries:

    With the new version of the libs extRAM_t4 is only to be used with the PSRAM chip while the SPIFFS_t4 can be used with the FLASH chips. It was kind of decided that SPIFFS wouldn't be support on the PSRAM only the FLASH.

    OK now lets move on to the your Flash chip. As @defragster stated the only chip that currently works with the SPIFFS_t4 library is the Winbond 25Q128 Flash chip. A cursory look at the Winbond 25Q256JVEIQ datasheet would require reworking the current library and driver for use with that chip.

    The lib version you are using does not have the check on the chip ID to let you know that your flash chip is incorrect so it is continuing to run the examples with the wrong driver. Lets take your Results for FLASH only: example. In the old version of the library PSRAM and FLASH drivers were in the same library and the PSRAM allowed to support SPIFFs. So what your results are showing is that the PSRAM chip is working with SPIFFs but writing to you Flash chip is failing which correct.

    As for SerialFlash, don't believe it will work with any FLASH chip on the bottom of the board as those pins are being used for what they call FlexSPI. Check this explanation out for further information: https://forum.pjrc.com/threads/61566...l=1#post245370.

    Probably need to come up with a test rig so dont have to solder on flash chips to the T4.1 for testing - may do that at some point.

  4. #4
    Thank you both for your replies. Have been very helpful.

    I think I used the latest versions of the libraries. I just downloaded the zip from https://github.com/PaulStoffregen/teensy41_extram and copied into my libs folder the folders SPIFFS_t4, extRAM_t4 and extRAM_SPIFFS_t4. As I saw that the last two were colliding, I tried with extRAM_t4 first and then with extRAM_SPIFFS_t4.

    So, if I understand correctly, for PSRAM I should just make use of extRAM_t4 and for the Flash ship I should use just SPIFFS_t4?

    Then this warning in the documentation may be outdated?

    WARNING: Both the SPIFFS_t4 and the extRAM_SPIFFS_t4 libraries need to be installed into your libraries folder to use the external PSRAM or FLASH!


    Is there any updated test for checking PSRAM with extRAM_t4 library?

    As for the flash chip, I guess I have three options:
    - Replace the chip with the 25Q128.
    - Solder the 25Q256JVEIQ to the audio board (the SerialFlash library lists 25Q256FV as compatible).
    - Modify the SPIFFS_t4 to add support for 25Q256JVEIQ (something tells me this one will be too advance for my knowledge).

    By the way, is it possible to use the chips soldered in the bottom of the Teensy 4.1 in conjunction with a Flash chip soldered in the audio board?

    Sorry, maybe too many questions.

    Thank you again.

  5. #5
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,558
    think I used the latest versions of the libraries. I just downloaded the zip from https://github.com/PaulStoffregen/teensy41_extram and copied into my libs folder the folders SPIFFS_t4, extRAM_t4 and extRAM_SPIFFS_t4. As I saw that the last two were colliding, I tried with extRAM_t4 first and then with extRAM_SPIFFS_t4.
    Unfortunately no, you downloaded the wrong branch - for now you can down the latest from here: https://github.com/PaulStoffregen/te...FFS-FLASH-ONLY

    So, if I understand correctly, for PSRAM I should just make use of extRAM_t4 and for the Flash ship I should use just SPIFFS_t4?
    Yes thats true. SPIFFs will allow you to use a file system similar to the SD card on the FLASH and the examples also include how you directly access the Flash CHip if you don't want to use SPIFF's.

    As for the flash chip, I guess I have three options:
    - Replace the chip with the 25Q128.
    - Solder the 25Q256JVEIQ to the audio board (the SerialFlash library lists 25Q256FV as compatible).
    - Modify the SPIFFS_t4 to add support for 25Q256JVEIQ (something tells me this one will be too advance for my knowledge).
    I would stay away from option 3 for now. Does get confusing.

    By the way, is it possible to use the chips soldered in the bottom of the Teensy 4.1 in conjunction with a Flash chip soldered in the audio board?
    As far as I can see yes as long as you use serialFlash for the FLASH chip on the audio board. But make sure you have the latest version of the audio for the T4
    Last edited by defragster; 08-02-2020 at 09:17 PM. Reason: quote edit

  6. #6
    I see. I will try with that branch then.

    Than you very much for such comprehensive clarifications.

  7. #7
    Well, after downloading I ran successfully the tests for the PSRAM. Then I tried the following test for the Flash chip: https://github.com/PaulStoffregen/te...flashtest6.ino

    I was expecting some error, but these were the results:
    Code:
    PSRAM: 8 MB
    
     Enter 'y' in 6 seconds to format FlashChip - other to skip
    
    Status 1:1010011
    
    Status 2:1010011
    
    FLASH ID: EF 40 19 00 00 00 00 00
    at 0x 800000
    Status 1:10000
    
    Status 2:10010
    
    Status 1:10000
    
    Status 2:10010
    
    Erasing... (may take some time)
    
    ..................................................................................................
    Chip erased in 49 seconds.
    
    
    Mount SPIFFS:
    
    Status 1:1010000
    
    Status 2:1010010
    
    FLASH ID: EF 40 19 00 00 00 00 00
    at 0x 800000
    Status 1:1010000
    
    Status 2:1010010
    
    Status 1:1010000
    
    Status 2:1010010
    
    Mount ADDR 0x800000 with res: 0
    Write file:
    
    Hello World! What a wonderful World :)
    
    
    
    Directory contents:
    
    my_file1 [0001] size:38
    Read file:
    
    Hello World! What a wonderful World :)
    
    
    
    
        ERAM ========== memory map ===== array* ======== check24() : WRITE !!!!
    		ERAM length 0x7FFFFE element size of 1
    	 took 227380 elapsed us
        ERAM ============================ check24() : COMPARE !!!!
    	 took 225148 elapsed us
    Good, 	Found 24 in ERAM 7FFFFE Times
    
    
    Mount SPIFFS:
    
    Mount ADDR 0x800000 with res: 0
    Directory contents:
    
    my_file1 [0001] size:38
    
    
    Loop Test2
    
    Directory contents:
    
    my_file1 [0001] size:38
    loopTest2 [0079] size:2600
    
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    abcdefghijklmnopqrstuvwxyz  <<< FLASH
    
    ABCDEFGHIJKLMNOPQRSTUVWXYZ  <<< FLASH
    
    
    
    Loop Test
    
    2900 :: RAM 
    abcdefghijklmnopqrstuvwxyz00
    ABCDEFGHIJKLMNOPQRSTUVWXYZ01
    abcdefghijklmnopqrstuvwxyz02
    ABCDEFGHIJKLMNOPQRSTUVWXYZ03
    abcdefghijklmnopqrstuvwxyz04
    ABCDEFGHIJKLMNOPQRSTUVWXYZ05
    abcdefghijklmnopqrstuvwxyz06
    ABCDEFGHIJKLMNOPQRSTUVWXYZ07
    abcdefghijklmnopqrstuvwxyz08
    ABCDEFGHIJKLMNOPQRSTUVWXYZ09
    abcdefghijklmnopqrstuvwxyz10
    ABCDEFGHIJKLMNOPQRSTUVWXYZ11
    abcdefghijklmnopqrstuvwxyz12
    ABCDEFGHIJKLMNOPQRSTUVWXYZ13
    abcdefghijklmnopqrstuvwxyz14
    ABCDEFGHIJKLMNOPQRSTUVWXYZ15
    abcdefghijklmnopqrstuvwxyz16
    ABCDEFGHIJKLMNOPQRSTUVWXYZ17
    abcdefghijklmnopqrstuvwxyz18
    ABCDEFGHIJKLMNOPQRSTUVWXYZ19
    abcdefghijklmnopqrstuvwxyz20
    ABCDEFGHIJKLMNOPQRSTUVWXYZ21
    abcdefghijklmnopqrstuvwxyz22
    ABCDEFGHIJKLMNOPQRSTUVWXYZ23
    abcdefghijklmnopqrstuvwxyz24
    ABCDEFGHIJKLMNOPQRSTUVWXYZ25
    abcdefghijklmnopqrstuvwxyz26
    ABCDEFGHIJKLMNOPQRSTUVWXYZ27
    abcdefghijklmnopqrstuvwxyz28
    ABCDEFGHIJKLMNOPQRSTUVWXYZ29
    abcdefghijklmnopqrstuvwxyz30
    ABCDEFGHIJKLMNOPQRSTUVWXYZ31
    abcdefghijklmnopqrstuvwxyz32
    ABCDEFGHIJKLMNOPQRSTUVWXYZ33
    abcdefghijklmnopqrstuvwxyz34
    ABCDEFGHIJKLMNOPQRSTUVWXYZ35
    abcdefghijklmnopqrstuvwxyz36
    ABCDEFGHIJKLMNOPQRSTUVWXYZ37
    abcdefghijklmnopqrstuvwxyz38
    ABCDEFGHIJKLMNOPQRSTUVWXYZ39
    abcdefghijklmnopqrstuvwxyz40
    ABCDEFGHIJKLMNOPQRSTUVWXYZ41
    abcdefghijklmnopqrstuvwxyz42
    ABCDEFGHIJKLMNOPQRSTUVWXYZ43
    abcdefghijklmnopqrstuvwxyz44
    ABCDEFGHIJKLMNOPQRSTUVWXYZ45
    abcdefghijklmnopqrstuvwxyz46
    ABCDEFGHIJKLMNOPQRSTUVWXYZ47
    abcdefghijklmnopqrstuvwxyz48
    ABCDEFGHIJKLMNOPQRSTUVWXYZ49
    abcdefghijklmnopqrstuvwxyz50
    ABCDEFGHIJKLMNOPQRSTUVWXYZ51
    abcdefghijklmnopqrstuvwxyz52
    ABCDEFGHIJKLMNOPQRSTUVWXYZ53
    abcdefghijklmnopqrstuvwxyz54
    ABCDEFGHIJKLMNOPQRSTUVWXYZ55
    abcdefghijklmnopqrstuvwxyz56
    ABCDEFGHIJKLMNOPQRSTUVWXYZ57
    abcdefghijklmnopqrstuvwxyz58
    ABCDEFGHIJKLMNOPQRSTUVWXYZ59
    abcdefghijklmnopqrstuvwxyz60
    ABCDEFGHIJKLMNOPQRSTUVWXYZ61
    abcdefghijklmnopqrstuvwxyz62
    ABCDEFGHIJKLMNOPQRSTUVWXYZ63
    abcdefghijklmnopqrstuvwxyz64
    ABCDEFGHIJKLMNOPQRSTUVWXYZ65
    abcdefghijklmnopqrstuvwxyz66
    ABCDEFGHIJKLMNOPQRSTUVWXYZ67
    abcdefghijklmnopqrstuvwxyz68
    ABCDEFGHIJKLMNOPQRSTUVWXYZ69
    abcdefghijklmnopqrstuvwxyz70
    ABCDEFGHIJKLMNOPQRSTUVWXYZ71
    abcdefghijklmnopqrstuvwxyz72
    ABCDEFGHIJKLMNOPQRSTUVWXYZ73
    abcdefghijklmnopqrstuvwxyz74
    ABCDEFGHIJKLMNOPQRSTUVWXYZ75
    abcdefghijklmnopqrstuvwxyz76
    ABCDEFGHIJKLMNOPQRSTUVWXYZ77
    abcdefghijklmnopqrstuvwxyz78
    ABCDEFGHIJKLMNOPQRSTUVWXYZ79
    abcdefghijklmnopqrstuvwxyz80
    ABCDEFGHIJKLMNOPQRSTUVWXYZ81
    abcdefghijklmnopqrstuvwxyz82
    ABCDEFGHIJKLMNOPQRSTUVWXYZ83
    abcdefghijklmnopqrstuvwxyz84
    ABCDEFGHIJKLMNOPQRSTUVWXYZ85
    abcdefghijklmnopqrstuvwxyz86
    ABCDEFGHIJKLMNOPQRSTUVWXYZ87
    abcdefghijklmnopqrstuvwxyz88
    ABCDEFGHIJKLMNOPQRSTUVWXYZ89
    abcdefghijklmnopqrstuvwxyz90
    ABCDEFGHIJKLMNOPQRSTUVWXYZ91
    abcdefghijklmnopqrstuvwxyz92
    ABCDEFGHIJKLMNOPQRSTUVWXYZ93
    abcdefghijklmnopqrstuvwxyz94
    ABCDEFGHIJKLMNOPQRSTUVWXYZ95
    abcdefghijklmnopqrstuvwxyz96
    ABCDEFGHIJKLMNOPQRSTUVWXYZ97
    abcdefghijklmnopqrstuvwxyz98
    ABCDEFGHIJKLMNOPQRSTUVWXYZ99
    
    2900 :: ERAM 
    abcdefghijklmnopqrstuvwxyz00
    ABCDEFGHIJKLMNOPQRSTUVWXYZ01
    abcdefghijklmnopqrstuvwxyz02
    ABCDEFGHIJKLMNOPQRSTUVWXYZ03
    abcdefghijklmnopqrstuvwxyz04
    ABCDEFGHIJKLMNOPQRSTUVWXYZ05
    abcdefghijklmnopqrstuvwxyz06
    ABCDEFGHIJKLMNOPQRSTUVWXYZ07
    abcdefghijklmnopqrstuvwxyz08
    ABCDEFGHIJKLMNOPQRSTUVWXYZ09
    abcdefghijklmnopqrstuvwxyz10
    ABCDEFGHIJKLMNOPQRSTUVWXYZ11
    abcdefghijklmnopqrstuvwxyz12
    ABCDEFGHIJKLMNOPQRSTUVWXYZ13
    abcdefghijklmnopqrstuvwxyz14
    ABCDEFGHIJKLMNOPQRSTUVWXYZ15
    abcdefghijklmnopqrstuvwxyz16
    ABCDEFGHIJKLMNOPQRSTUVWXYZ17
    abcdefghijklmnopqrstuvwxyz18
    ABCDEFGHIJKLMNOPQRSTUVWXYZ19
    abcdefghijklmnopqrstuvwxyz20
    ABCDEFGHIJKLMNOPQRSTUVWXYZ21
    abcdefghijklmnopqrstuvwxyz22
    ABCDEFGHIJKLMNOPQRSTUVWXYZ23
    abcdefghijklmnopqrstuvwxyz24
    ABCDEFGHIJKLMNOPQRSTUVWXYZ25
    abcdefghijklmnopqrstuvwxyz26
    ABCDEFGHIJKLMNOPQRSTUVWXYZ27
    abcdefghijklmnopqrstuvwxyz28
    ABCDEFGHIJKLMNOPQRSTUVWXYZ29
    abcdefghijklmnopqrstuvwxyz30
    ABCDEFGHIJKLMNOPQRSTUVWXYZ31
    abcdefghijklmnopqrstuvwxyz32
    ABCDEFGHIJKLMNOPQRSTUVWXYZ33
    abcdefghijklmnopqrstuvwxyz34
    ABCDEFGHIJKLMNOPQRSTUVWXYZ35
    abcdefghijklmnopqrstuvwxyz36
    ABCDEFGHIJKLMNOPQRSTUVWXYZ37
    abcdefghijklmnopqrstuvwxyz38
    ABCDEFGHIJKLMNOPQRSTUVWXYZ39
    abcdefghijklmnopqrstuvwxyz40
    ABCDEFGHIJKLMNOPQRSTUVWXYZ41
    abcdefghijklmnopqrstuvwxyz42
    ABCDEFGHIJKLMNOPQRSTUVWXYZ43
    abcdefghijklmnopqrstuvwxyz44
    ABCDEFGHIJKLMNOPQRSTUVWXYZ45
    abcdefghijklmnopqrstuvwxyz46
    ABCDEFGHIJKLMNOPQRSTUVWXYZ47
    abcdefghijklmnopqrstuvwxyz48
    ABCDEFGHIJKLMNOPQRSTUVWXYZ49
    abcdefghijklmnopqrstuvwxyz50
    ABCDEFGHIJKLMNOPQRSTUVWXYZ51
    abcdefghijklmnopqrstuvwxyz52
    ABCDEFGHIJKLMNOPQRSTUVWXYZ53
    abcdefghijklmnopqrstuvwxyz54
    ABCDEFGHIJKLMNOPQRSTUVWXYZ55
    abcdefghijklmnopqrstuvwxyz56
    ABCDEFGHIJKLMNOPQRSTUVWXYZ57
    abcdefghijklmnopqrstuvwxyz58
    ABCDEFGHIJKLMNOPQRSTUVWXYZ59
    abcdefghijklmnopqrstuvwxyz60
    ABCDEFGHIJKLMNOPQRSTUVWXYZ61
    abcdefghijklmnopqrstuvwxyz62
    ABCDEFGHIJKLMNOPQRSTUVWXYZ63
    abcdefghijklmnopqrstuvwxyz64
    ABCDEFGHIJKLMNOPQRSTUVWXYZ65
    abcdefghijklmnopqrstuvwxyz66
    ABCDEFGHIJKLMNOPQRSTUVWXYZ67
    abcdefghijklmnopqrstuvwxyz68
    ABCDEFGHIJKLMNOPQRSTUVWXYZ69
    abcdefghijklmnopqrstuvwxyz70
    ABCDEFGHIJKLMNOPQRSTUVWXYZ71
    abcdefghijklmnopqrstuvwxyz72
    ABCDEFGHIJKLMNOPQRSTUVWXYZ73
    abcdefghijklmnopqrstuvwxyz74
    ABCDEFGHIJKLMNOPQRSTUVWXYZ75
    abcdefghijklmnopqrstuvwxyz76
    ABCDEFGHIJKLMNOPQRSTUVWXYZ77
    abcdefghijklmnopqrstuvwxyz78
    ABCDEFGHIJKLMNOPQRSTUVWXYZ79
    abcdefghijklmnopqrstuvwxyz80
    ABCDEFGHIJKLMNOPQRSTUVWXYZ81
    abcdefghijklmnopqrstuvwxyz82
    ABCDEFGHIJKLMNOPQRSTUVWXYZ83
    abcdefghijklmnopqrstuvwxyz84
    ABCDEFGHIJKLMNOPQRSTUVWXYZ85
    abcdefghijklmnopqrstuvwxyz86
    ABCDEFGHIJKLMNOPQRSTUVWXYZ87
    abcdefghijklmnopqrstuvwxyz88
    ABCDEFGHIJKLMNOPQRSTUVWXYZ89
    abcdefghijklmnopqrstuvwxyz90
    ABCDEFGHIJKLMNOPQRSTUVWXYZ91
    abcdefghijklmnopqrstuvwxyz92
    ABCDEFGHIJKLMNOPQRSTUVWXYZ93
    abcdefghijklmnopqrstuvwxyz94
    ABCDEFGHIJKLMNOPQRSTUVWXYZ95
    abcdefghijklmnopqrstuvwxyz96
    ABCDEFGHIJKLMNOPQRSTUVWXYZ97
    abcdefghijklmnopqrstuvwxyz98
    ABCDEFGHIJKLMNOPQRSTUVWXYZ99
    
    Mount ADDR 0x800000 with res: 0
    	 loopTest write took 42663 elapsed us
    	 loopTest Directory contents:
    
    loopTest2 [0079] size:2600
    my_file1 [0001] size:2900
    F_@
    
    abcdefghijklmnopqrstuvwxyz00
    ABCDEFGHIJKLMNOPQRSTUVWXYZ01
    abcdefghijklmnopqrstuvwxyz02
    ABCDEFGHIJKLMNOPQRSTUVWXYZ03
    abcdefghijklmnopqrstuvwxyz04
    ABCDEFGHIJKLMNOPQRSTUVWXYZ05
    abcdefghijklmnopqrstuvwxyz06
    ABCDEFGHIJKLMNOPQRSTUVWXYZ07
    abcdefghijklmnopqrstuvwxyz08
    ABCDEFGHIJKLMNOPQRSTUVWXYZ09
    abcdefghijklmnopqrstuvwxyz10
    ABCDEFGHIJKLMNOPQRSTUVWXYZ11
    abcdefghijklmnopqrstuvwxyz12
    ABCDEFGHIJKLMNOPQRSTUVWXYZ13
    abcdefghijklmnopqrstuvwxyz14
    ABCDEFGHIJKLMNOPQRSTUVWXYZ15
    abcdefghijklmnopqrstuvwxyz16
    ABCDEFGHIJKLMNOPQRSTUVWXYZ17
    abcdefghijklmnopqrstuvwxyz18
    ABCDEFGHIJKLMNOPQRSTUVWXYZ19
    abcdefghijklmnopqrstuvwxyz20
    ABCDEFGHIJKLMNOPQRSTUVWXYZ21
    abcdefghijklmnopqrstuvwxyz22
    ABCDEFGHIJKLMNOPQRSTUVWXYZ23
    abcdefghijklmnopqrstuvwxyz24
    ABCDEFGHIJKLMNOPQRSTUVWXYZ25
    abcdefghijklmnopqrstuvwxyz26
    ABCDEFGHIJKLMNOPQRSTUVWXYZ27
    abcdefghijklmnopqrstuvwxyz28
    ABCDEFGHIJKLMNOPQRSTUVWXYZ29
    abcdefghijklmnopqrstuvwxyz30
    ABCDEFGHIJKLMNOPQRSTUVWXYZ31
    abcdefghijklmnopqrstuvwxyz32
    ABCDEFGHIJKLMNOPQRSTUVWXYZ33
    abcdefghijklmnopqrstuvwxyz34
    ABCDEFGHIJKLMNOPQRSTUVWXYZ35
    abcdefghijklmnopqrstuvwxyz36
    ABCDEFGHIJKLMNOPQRSTUVWXYZ37
    abcdefghijklmnopqrstuvwxyz38
    ABCDEFGHIJKLMNOPQRSTUVWXYZ39
    abcdefghijklmnopqrstuvwxyz40
    ABCDEFGHIJKLMNOPQRSTUVWXYZ41
    abcdefghijklmnopqrstuvwxyz42
    ABCDEFGHIJKLMNOPQRSTUVWXYZ43
    abcdefghijklmnopqrstuvwxyz44
    ABCDEFGHIJKLMNOPQRSTUVWXYZ45
    abcdefghijklmnopqrstuvwxyz46
    ABCDEFGHIJKLMNOPQRSTUVWXYZ47
    abcdefghijklmnopqrstuvwxyz48
    ABCDEFGHIJKLMNOPQRSTUVWXYZ49
    abcdefghijklmnopqrstuvwxyz50
    ABCDEFGHIJKLMNOPQRSTUVWXYZ51
    abcdefghijklmnopqrstuvwxyz52
    ABCDEFGHIJKLMNOPQRSTUVWXYZ53
    abcdefghijklmnopqrstuvwxyz54
    ABCDEFGHIJKLMNOPQRSTUVWXYZ55
    abcdefghijklmnopqrstuvwxyz56
    ABCDEFGHIJKLMNOPQRSTUVWXYZ57
    abcdefghijklmnopqrstuvwxyz58
    ABCDEFGHIJKLMNOPQRSTUVWXYZ59
    abcdefghijklmnopqrstuvwxyz60
    ABCDEFGHIJKLMNOPQRSTUVWXYZ61
    abcdefghijklmnopqrstuvwxyz62
    ABCDEFGHIJKLMNOPQRSTUVWXYZ63
    abcdefghijklmnopqrstuvwxyz64
    ABCDEFGHIJKLMNOPQRSTUVWXYZ65
    abcdefghijklmnopqrstuvwxyz66
    ABCDEFGHIJKLMNOPQRSTUVWXYZ67
    abcdefghijklmnopqrstuvwxyz68
    ABCDEFGHIJKLMNOPQRSTUVWXYZ69
    abcdefghijklmnopqrstuvwxyz70
    ABCDEFGHIJKLMNOPQRSTUVWXYZ71
    abcdefghijklmnopqrstuvwxyz72
    ABCDEFGHIJKLMNOPQRSTUVWXYZ73
    abcdefghijklmnopqrstuvwxyz74
    ABCDEFGHIJKLMNOPQRSTUVWXYZ75
    abcdefghijklmnopqrstuvwxyz76
    ABCDEFGHIJKLMNOPQRSTUVWXYZ77
    abcdefghijklmnopqrstuvwxyz78
    ABCDEFGHIJKLMNOPQRSTUVWXYZ79
    abcdefghijklmnopqrstuvwxyz80
    ABCDEFGHIJKLMNOPQRSTUVWXYZ81
    abcdefghijklmnopqrstuvwxyz82
    ABCDEFGHIJKLMNOPQRSTUVWXYZ83
    abcdefghijklmnopqrstuvwxyz84
    ABCDEFGHIJKLMNOPQRSTUVWXYZ85
    abcdefghijklmnopqrstuvwxyz86
    ABCDEFGHIJKLMNOPQRSTUVWXYZ87
    abcdefghijklmnopqrstuvwxyz88
    ABCDEFGHIJKLMNOPQRSTUVWXYZ89
    abcdefghijklmnopqrstuvwxyz90
    ABCDEFGHIJKLMNOPQRSTUVWXYZ91
    abcdefghijklmnopqrstuvwxyz92
    ABCDEFGHIJKLMNOPQRSTUVWXYZ93
    abcdefghijklmnopqrstuvwxyz94
    ABCDEFGHIJKLMNOPQRSTUVWXYZ95
    abcdefghijklmnopqrstuvwxyz96
    ABCDEFGHIJKLMNOPQRSTUVWXYZ97
    abcdefghijklmnopqrstuvwxyz98
    ABCDEFGHIJKLMNOPQRSTUVWXYZ99
    I see the id was identified, but I don't fully understand the results, as ERAM seems to be implied too. Does it mean the the flash chip is working correctly?

    By the way, at the moment it is no possible to play raw files using the AudioPlaySerialflashRaw object of the Audio lib, right?

    Thank you.
    JF

  8. #8
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,558
    @JotaEfe13
    Good morning.

    Had me stumped for a little bit. But reading the data sheet for the 256mb chip the key is that it looks like the current version of the library will work with the 256mb flash but you are only going to be able to address 128Mb (half of the chip). Reason is that to access the upper 128mb you have to use the chip's 4byte address mode otherwise it defaults to 3-byte mode which is make it compatible with other serialflash chips:

    The W25Q256JV provides two Address Modes that can be used to specify any byte of data in the memory
    array. The 3-Byte Address Mode is backward compatible to older generations of serial flash memory that
    only support up to 128M-bit data. To address the 256M-bit or more data in 3-Byte Address Mode,
    Extended Address Register must be used in addition to the 3-Byte addresses.
    4-Byte Address Mode is designed to support Serial Flash Memory devices from 256M-bit to 32G-bit. The
    extended Address Register is not necessary when the 4-Byte Address Mode is enabled.
    see page 13 of the datasheet.

    It is possible to use only 3-byte address mode but you would need to make use of the Extended Address Register:
    7.2 Extended Address Register – Volatile Writable Only
    In addition to the Status Registers, W25Q256JV provides a volatile Extended Address Register which
    consists of the 4th byte of memory address. The Extended Address Register is used only when the device
    is operating in the 3-Byte Address Mode (ADS=0). The lower 128Mb memory array (00000000h –
    00FFFFFFh) is selected when A24=0, all instructions with 3-Byte addresses will be executed within that
    region. When A24=1, the upper 128Mb memory array (01000000h – 01FFFFFFh) will be selected
    see page 24.

    As for AudioPlaySerialflashRaw looks like this works only for the Flash chips that are set up using standard SPI instructions and not FlexSPI like the Flash Chips on the underside of the T4.1. For example the Flash on the audio board.

  9. #9
    @mjs513 Fantastic explanation. I'll have a look at the datasheet.

    Thanks again.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •