I am trying to get SD card reading/writing working for MAX32625PICO. I have added an mbed_app.json file with the following contents:
{
"target_overrides":
{
"*":
{
"target.features_add": ["STORAGE"],
"target.components_add": ["SD"],
"SPI_MOSI": "SPI0_MOSI",
"SPI_MISO": "SPI0_MISO",
"SPI_CLK": "SPI0_SCK",
"SPI_CS": "SPI0_SS"
}
}
}
MBED Studio reports: [ERROR] Attempt to override undefined parameter 'app.SPI_MOSI' in 'application[*]'
, but when I remove the SPI pin definitions it gives errors because Arduino Uno pin definitions are used:
In file included from .\main.cpp:4:
./mbed-os/storage/blockdevice/COMPONENT_SD/include/SD\SDBlockDevice.h:84:32: error: use of undeclared identifier 'ARDUINO_UNO_SPI_CS'
PinName cs = MBED_CONF_SD_SPI_CS,
^
./BUILD/MAX32625PICO/ARMC6\mbed_config.h:333:79: note: expanded from macro 'MBED_CONF_SD_SPI_CS'
#define MBED_CONF_SD_SPI_CS ARDUINO_UNO_SPI_CS
This is because the mbed_lib.json file for the “storage” component has the following “config” definition, and no overrides for the MAX32625PICO (although it does have an override for the MAX32625FTHR):
"config": {
"SPI_CS": "ARDUINO_UNO_SPI_CS",
"SPI_MOSI": "ARDUINO_UNO_SPI_MOSI",
"SPI_MISO": "ARDUINO_UNO_SPI_MISO",
"SPI_CLK": "ARDUINO_UNO_SPI_SCK",
"FSFAT_SDCARD_INSTALLED": 1,
"CMD_TIMEOUT": 10000,
"CMD0_IDLE_STATE_RETRIES": 5,
"INIT_FREQUENCY": 100000,
"TRX_FREQUENCY": 1000000,
"CRC_ENABLED": 0,
"TEST_BUFFER": 8192
},
What is the correct way to override the config definitions in the library module to get valid pin definitions?