Teensy 4.0 + Audio Board Rev D can't read SD card

patijoo

New member
Hi all, I'm adapting an old code from Teensy 3.2 + audio board B to Teensy 4 and Audio board D. Before modifying the pins for the new board, I tried to run a SD card test and keep on having the message "SD card is not connected or unusable :-(". At the beginning I found the multiple library issue, which I think I solved by moving the duplicated libraries from Documents/Arduino/ Library folder but still the problem persists. Here what I get from my verbose output:

/Applications/Teensyduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Teensyduino.app/Contents/Java/hardware -tools /Applications/Teensyduino.app/Contents/Java/tools-builder -tools /Applications/Teensyduino.app/Contents/Java/hardware/tools/avr -built-in-libraries /Applications/Teensyduino.app/Contents/Java/libraries -libraries /Users/patriciareis/pCloud Drive/_ARTIST_WORK/_2025/Node/CODE/libraries -fqbn=teensy:avr:teensy40:usb=serial,speed=600,opt=o2std,keys=en-us -ide-version=10819 -build-path /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767 -warnings=default -build-cache /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_cache_770860 -prefs=runtime.tools.teensy-compile.path=/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1 -prefs=runtime.tools.teensy-compile-11.3.1.path=/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1 -prefs=runtime.tools.teensy-tools.path=/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-tools/1.59.0 -prefs=runtime.tools.teensy-tools-1.59.0.path=/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-tools/1.59.0 -verbose /Users/patriciareis/pCloud Drive/_ARTIST_WORK/_2025/Node/CODE/massage_chair_Code/test_sd_card/test_sd_card.ino
/Applications/Teensyduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Teensyduino.app/Contents/Java/hardware -tools /Applications/Teensyduino.app/Contents/Java/tools-builder -tools /Applications/Teensyduino.app/Contents/Java/hardware/tools/avr -built-in-libraries /Applications/Teensyduino.app/Contents/Java/libraries -libraries /Users/patriciareis/pCloud Drive/_ARTIST_WORK/_2025/Node/CODE/libraries -fqbn=teensy:avr:teensy40:usb=serial,speed=600,opt=o2std,keys=en-us -ide-version=10819 -build-path /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767 -warnings=default -build-cache /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_cache_770860 -prefs=runtime.tools.teensy-compile.path=/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1 -prefs=runtime.tools.teensy-compile-11.3.1.path=/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1 -prefs=runtime.tools.teensy-tools.path=/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-tools/1.59.0 -prefs=runtime.tools.teensy-tools-1.59.0.path=/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-tools/1.59.0 -verbose /Users/patriciareis/pCloud Drive/_ARTIST_WORK/_2025/Node/CODE/massage_chair_Code/test_sd_card/test_sd_card.ino
Using board 'teensy40' from platform in folder: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr
Using core 'teensy4' from platform in folder: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr
Detecting libraries used...
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=158 -DARDUINO=10819 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy4 /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/sketch/test_sd_card.ino.cpp -o /dev/null
Alternatives for SD.h: [SD@1.2.4 SD@2.0.0]
ResolveLibrary(SD.h)
-> candidates: [SD@1.2.4 SD@2.0.0]
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=158 -DARDUINO=10819 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy4 -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD/src /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/sketch/test_sd_card.ino.cpp -o /dev/null
Alternatives for SdFat.h: [SdFat@2.1.2]
ResolveLibrary(SdFat.h)
-> candidates: [SdFat@2.1.2]
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=158 -DARDUINO=10819 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy4 -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD/src -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/sketch/test_sd_card.ino.cpp -o /dev/null
Alternatives for SPI.h: [SPI@1.0]
ResolveLibrary(SPI.h)
-> candidates: [SPI@1.0]
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=158 -DARDUINO=10819 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy4 -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD/src -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SPI /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/sketch/test_sd_card.ino.cpp -o /dev/null
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD/src/SD.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/ExFatLib/ExFatDbg.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/ExFatLib/ExFatFile.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/ExFatLib/ExFatFilePrint.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/ExFatLib/ExFatFileWrite.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/ExFatLib/ExFatFormatter.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/ExFatLib/ExFatName.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/ExFatLib/ExFatPartition.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/ExFatLib/ExFatVolume.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/ExFatLib/upcase.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FatLib/FatDbg.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FatLib/FatFile.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FatLib/FatFileLFN.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FatLib/FatFilePrint.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FatLib/FatFileSFN.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FatLib/FatFormatter.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FatLib/FatName.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FatLib/FatPartition.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FatLib/FatVolume.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FreeStack.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FsLib/FsFile.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FsLib/FsNew.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/FsLib/FsVolume.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/MinimumSerial.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SdCard/SdCardInfo.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SdCard/SdSpiCard.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SdCard/SdioTeensy.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SpiDriver/SdSpiArtemis.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SpiDriver/SdSpiChipSelect.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SpiDriver/SdSpiDue.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SpiDriver/SdSpiESP.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SpiDriver/SdSpiParticle.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SpiDriver/SdSpiSTM32.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SpiDriver/SdSpiSTM32Core.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/SpiDriver/SdSpiTeensy3.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/common/FmtNumber.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/common/FsCache.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/common/FsDateTime.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/common/FsName.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/common/FsStructs.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/common/FsUtf.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/common/PrintBasic.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/common/upcase.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/iostream/StdioStream.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/iostream/StreamBaseClass.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/iostream/istream.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src/iostream/ostream.cpp
Using cached library dependencies for file: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SPI/SPI.cpp
Generating function prototypes...
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=158 -DARDUINO=10819 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy4 -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD/src -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SPI /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/sketch/test_sd_card.ino.cpp -o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/preproc/ctags_target_for_gcc_minus_e.cpp
/Applications/Teensyduino.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/precompile_helper /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy4 /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767 /Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -x c++-header -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=158 -DARDUINO=10819 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy4 /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/pch/Arduino.h -o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/pch/Arduino.h.gch
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/pch/Arduino.h.gch
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=158 -DARDUINO=10819 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/pch -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy4 -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD/src -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat/src -I/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SPI /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/sketch/test_sd_card.ino.cpp -o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/sketch/test_sd_card.ino.cpp.o
Compiling libraries...
Compiling library "SD"
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SD/SD.cpp.o
Compiling library "SdFat"
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FreeStack.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/MinimumSerial.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatVolume.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatPartition.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatName.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatFile.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatFilePrint.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatDbg.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatFormatter.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/upcase.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatFileWrite.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFileSFN.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatPartition.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFilePrint.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatDbg.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFormatter.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFile.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFileLFN.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatName.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatVolume.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FsLib/FsNew.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FsLib/FsFile.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FsLib/FsVolume.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SdCard/SdCardInfo.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SdCard/SdSpiCard.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SdCard/SdioTeensy.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiDue.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiParticle.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiChipSelect.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiSTM32.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiArtemis.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiTeensy3.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiESP.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiSTM32Core.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/upcase.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FmtNumber.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsUtf.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsDateTime.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsCache.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/PrintBasic.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsStructs.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsName.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/iostream/StreamBaseClass.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/iostream/StdioStream.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/iostream/istream.cpp.o
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/iostream/ostream.cpp.o
Compiling library "SPI"
Using previously compiled file: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SPI/SPI.cpp.o
Compiling core...
Using precompiled core: /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_cache_770860/core/core_fc57fc92e7726a6589d7ab7730fbf489.a
Linking everything together...
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-gcc -O2 -Wl,--gc-sections,--relax -T/Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/cores/teensy4/imxrt1062.ld -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.elf /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/sketch/test_sd_card.ino.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SD/SD.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FreeStack.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/MinimumSerial.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatDbg.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatFile.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatFilePrint.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatFileWrite.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatFormatter.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatName.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatPartition.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/ExFatVolume.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/ExFatLib/upcase.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatDbg.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFile.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFileLFN.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFilePrint.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFileSFN.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatFormatter.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatName.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatPartition.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FatLib/FatVolume.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FsLib/FsFile.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FsLib/FsNew.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/FsLib/FsVolume.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SdCard/SdCardInfo.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SdCard/SdSpiCard.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SdCard/SdioTeensy.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiArtemis.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiChipSelect.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiDue.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiESP.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiParticle.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiSTM32.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiSTM32Core.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/SpiDriver/SdSpiTeensy3.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FmtNumber.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsCache.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsDateTime.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsName.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsStructs.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/FsUtf.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/PrintBasic.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/common/upcase.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/iostream/StdioStream.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/iostream/StreamBaseClass.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/iostream/istream.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SdFat/iostream/ostream.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/libraries/SPI/SPI.cpp.o /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/../arduino_cache_770860/core/core_fc57fc92e7726a6589d7ab7730fbf489.a -L/var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767 -larm_cortexM7lfsp_math -lm -lstdc++
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.elf /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.eep
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-objcopy -O ihex -R .eeprom /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.elf /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.hex
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/teensy_secure encrypthex TEENSY40 /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.hex
No key .pem file found, skipping .ehex encryption
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/teensy_post_compile -file=test_sd_card.ino -path=/var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767 -tools=/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/ -board=TEENSY40
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/stdout_redirect /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.sym /Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-objdump -t -C /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.elf
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/teensy_size /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.elf
Memory Usage on Teensy 4.0:
FLASH: code:54636, data:7116, headers:8900 free for files:1960964
RAM1: variables:9888, code:52904, padding:12632 free for local variables:448864
RAM2: variables:12416 free for malloc/new:511872
/Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/stdout_redirect /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.lst /Applications/Teensyduino.app/Contents/Java/hardware/teensy/../tools/arm/bin/arm-none-eabi-objdump -d -S -C /var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767/test_sd_card.ino.elf
Multiple libraries were found for "SD.h"
Used: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD
Not used: /Applications/Teensyduino.app/Contents/Java/libraries/SD
Using library SD at version 2.0.0 in folder: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD
Using library SdFat at version 2.1.2 in folder: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SdFat
Using library SPI at version 1.0 in folder: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SPI
/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-tools/1.59.0/teensy_post_compile -file=test_sd_card.ino -path=/var/folders/z2/c9b92rzj1437tk06dwtnj8sw0000gn/T/arduino_build_678767 -tools=/Users/patriciareis/Library/Arduino15/packages/teensy/tools/teensy-tools/1.59.0 -board=TEENSY40 -reboot -port=usb:130000 -portlabel=HID=16c0:0478.ff9c.24 Bootloader -portprotocol=Teensy

Here the code:
Code:
// SD Card Test
//
// Check if the SD card on the Audio Shield is working,
// and perform some simple speed measurements to gauge
// its ability to play 1, 2, 3 and 4 WAV files at a time.
//
// Requires the audio shield:
//   http://www.pjrc.com/store/teensy3_audio.html
//
// Data files to put on your SD card can be downloaded here:
//   http://www.pjrc.com/teensy/td_libs_AudioDataFiles.html
//
// This example code is in the public domain.

#include <SD.h>
#include <SPI.h>

// Use these with the Teensy Audio Shield
#define SDCARD_CS_PIN    10
#define SDCARD_MOSI_PIN  11   // Teensy 4 ignores this, uses pin 11
#define SDCARD_SCK_PIN   13  // Teensy 4 ignores this, uses pin 13

// Use these with the Teensy 3.5 & 3.6 & 4.1 SD card
//#define SDCARD_CS_PIN    BUILTIN_SDCARD
//#define SDCARD_MOSI_PIN  11  // not actually used
//#define SDCARD_SCK_PIN   13  // not actually used

// Use these for the SD+Wiz820 or other adaptors
//#define SDCARD_CS_PIN    4
//#define SDCARD_MOSI_PIN  11
//#define SDCARD_SCK_PIN   13

void setup() {
  Sd2Card card;
  SdVolume volume;
  File f1, f2, f3, f4;
  char buffer[512];
  boolean status;
  unsigned long usec, usecMax;
  elapsedMicros usecTotal, usecSingle;
  int i, type;
  float size;

  // wait for the Arduino Serial Monitor to open
  while (!Serial) ;
  delay(50);

  // Configure SPI
  SPI.setMOSI(SDCARD_MOSI_PIN);
  SPI.setSCK(SDCARD_SCK_PIN);

  Serial.begin(9600);
  Serial.println("SD Card Test");
  Serial.println("------------");

  // First, detect the card
  status = card.init(SPI_FULL_SPEED, SDCARD_CS_PIN);
  if (status) {
    Serial.println("SD card is connected :-)");
  } else {
    Serial.println("SD card is not connected or unusable :-(");
    return;
  }

  type = card.type();
  if (type == SD_CARD_TYPE_SD1 || type == SD_CARD_TYPE_SD2) {
    Serial.println("Card type is SD");
  } else if (type == SD_CARD_TYPE_SDHC) {
    Serial.println("Card type is SDHC");
  } else {
    Serial.println("Card is an unknown type (maybe SDXC?)");
  }

  // Then look at the file system and print its capacity
  status = volume.init(card);
  if (!status) {
    Serial.println("Unable to access the filesystem on this card. :-(");
    return;
  }

  size = volume.blocksPerCluster() * volume.clusterCount();
  size = size * (512.0 / 1e6); // convert blocks to millions of bytes
  Serial.print("File system space is ");
  Serial.print(size);
  Serial.println(" Mbytes.");

  // Now open the SD card normally
  status = SD.begin(SDCARD_CS_PIN);
  if (status) {
    Serial.println("SD library is able to access the filesystem");
  } else {
    Serial.println("SD library can not access the filesystem!");
    Serial.println("Please report this problem, with the make & model of your SD card.");
    Serial.println("  http://forum.pjrc.com/forums/4-Suggestions-amp-Bug-Reports");
  }


  // Open the 4 sample files.  Hopefully they're on the card
  f1 = SD.open("001.WAV");
  f2 = SD.open("002.WAV");
  f3 = SD.open("003.WAV");
  f4 = SD.open("004.WAV");

  // Speed test reading a single file
  if (f1) {
    Serial.println();
    Serial.println("Reading SDTEST1.WAV:");
    if (f1.size() >= 514048) {
      usecMax = 0;
      usecTotal = 0;
      for (i=0; i < 1000; i++) {
        usecSingle = 0;
        f1.read(buffer, 512);
        usec = usecSingle;
        if (usec > usecMax) usecMax = usec;
      }
      reportSpeed(1, 1000, usecTotal, usecMax);
    } else {
      Serial.println("SDTEST1.WAV is too small for speed testing");
    }
  } else {
    Serial.println("Unable to find SDTEST1.WAV on this card");
    return;
  }

  // Speed test reading two files
  if (f2) {
    Serial.println();
    Serial.println("Reading SDTEST1.WAV & SDTEST2.WAV:");
    if (f2.size() >= 514048) {
      f1.seek(0);
      usecMax = 0;
      usecTotal = 0;
      for (i=0; i < 1000; i++) {
        usecSingle = 0;
        f1.read(buffer, 512);
        f2.read(buffer, 512);
        usec = usecSingle;
        if (usec > usecMax) usecMax = usec;
      }
      reportSpeed(2, 1000, usecTotal, usecMax);

      Serial.println();
      Serial.println("Reading SDTEST1.WAV & SDTEST2.WAV staggered:");
      f1.seek(0);
      f2.seek(0);
      f1.read(buffer, 512);
      usecMax = 0;
      usecTotal = 0;
      for (i=0; i < 1000; i++) {
        usecSingle = 0;
        f1.read(buffer, 512);
        f2.read(buffer, 512);
        usec = usecSingle;
        if (usec > usecMax) usecMax = usec;
      }
      reportSpeed(2, 1000, usecTotal, usecMax);
    } else {
      Serial.println("SDTEST2.WAV is too small for speed testing");
    }
  } else {
    Serial.println("Unable to find SDTEST2.WAV on this card");
    return;
  }


  // Speed test reading three files
  if (f3) {
    Serial.println();
    Serial.println("Reading SDTEST1.WAV, SDTEST2.WAV, SDTEST3.WAV:");
    if (f3.size() >= 514048) {
      f1.seek(0);
      f2.seek(0);
      usecMax = 0;
      usecTotal = 0;
      for (i=0; i < 1000; i++) {
        usecSingle = 0;
        f1.read(buffer, 512);
        f2.read(buffer, 512);
        f3.read(buffer, 512);
        usec = usecSingle;
        if (usec > usecMax) usecMax = usec;
      }
      reportSpeed(3, 1000, usecTotal, usecMax);

      Serial.println();
      Serial.println("Reading SDTEST1.WAV, SDTEST2.WAV, SDTEST3.WAV staggered:");
      f1.seek(0);
      f2.seek(0);
      f3.seek(0);
      f1.read(buffer, 512);
      f1.read(buffer, 512);
      f2.read(buffer, 512);
      usecMax = 0;
      usecTotal = 0;
      for (i=0; i < 1000; i++) {
        usecSingle = 0;
        f1.read(buffer, 512);
        f2.read(buffer, 512);
        f3.read(buffer, 512);
        usec = usecSingle;
        if (usec > usecMax) usecMax = usec;
      }
      reportSpeed(3, 1000, usecTotal, usecMax);
    } else {
      Serial.println("SDTEST3.WAV is too small for speed testing");
    }
  } else {
    Serial.println("Unable to find SDTEST3.WAV on this card");
    return;
  }


  // Speed test reading four files
  if (f4) {
    Serial.println();
    Serial.println("Reading SDTEST1.WAV, SDTEST2.WAV, SDTEST3.WAV, SDTEST4.WAV:");
    if (f4.size() >= 514048) {
      f1.seek(0);
      f2.seek(0);
      f3.seek(0);
      usecMax = 0;
      usecTotal = 0;
      for (i=0; i < 1000; i++) {
        usecSingle = 0;
        f1.read(buffer, 512);
        f2.read(buffer, 512);
        f3.read(buffer, 512);
        f4.read(buffer, 512);
        usec = usecSingle;
        if (usec > usecMax) usecMax = usec;
      }
      reportSpeed(4, 1000, usecTotal, usecMax);

      Serial.println();
      Serial.println("Reading SDTEST1.WAV, SDTEST2.WAV, SDTEST3.WAV, SDTEST4.WAV staggered:");
      f1.seek(0);
      f2.seek(0);
      f3.seek(0);
      f4.seek(0);
      f1.read(buffer, 512);
      f1.read(buffer, 512);
      f1.read(buffer, 512);
      f2.read(buffer, 512);
      f2.read(buffer, 512);
      f3.read(buffer, 512);
      usecMax = 0;
      usecTotal = 0;
      for (i=0; i < 1000; i++) {
        usecSingle = 0;
        f1.read(buffer, 512);
        f2.read(buffer, 512);
        f3.read(buffer, 512);
        f4.read(buffer, 512);
        usec = usecSingle;
        if (usec > usecMax) usecMax = usec;
      }
      reportSpeed(4, 1000, usecTotal, usecMax);
    } else {
      Serial.println("SDTEST4.WAV is too small for speed testing");
    }
  } else {
    Serial.println("Unable to find SDTEST4.WAV on this card");
    return;
  }

}


unsigned long maximum(unsigned long a, unsigned long b,
  unsigned long c, unsigned long d)
{
  if (b > a) a = b;
  if (c > a) a = c;
  if (d > a) a = d;
  return a;
}


void reportSpeed(unsigned int numFiles, unsigned long blockCount, unsigned long usecTotal, unsigned long usecMax)
{
  float bytesPerSecond = (float)(blockCount * 512 * numFiles) / usecTotal;
  Serial.print("  Overall speed = ");
  Serial.print(bytesPerSecond);
  Serial.println(" Mbyte/sec");
  Serial.print("  Worst block time = ");
  Serial.print((float)usecMax / 1000.0);
  Serial.println(" ms");
  Serial.print("    ");
  Serial.print( (float)usecMax / 29.01333);
  Serial.println("% of audio frame time");
}


void loop(void) {
  // do nothing after the test
}

Hardware details: brand new teensy 4 and Audio board rev D + brand new SD card Scan Disk 128GB A2 (I also tested with other cards)
Was also wondering which pins need to be changed to adapt my old code with Teensy 3.2 and Audio board B to the new set teensy 4 and Audio board rev D?

Thanks

Pat
 
Back
Top