Arm Mbed OS support forum

Any reason why SD component (storage/blockdevice) does not include the MAX32630FTHR board

I decided to give it a try and I amended the mbed_lib.json file found in the storage/blockdevice/COMPONENT_SD directory in Mbed OS 6.2 to include the MAX32630FTHR device and it appears to work.

        "MAX32630FTHR": {
             "SPI_MOSI": "P0_5",
             "SPI_MISO": "P0_6",
             "SPI_CLK":  "P0_4",
             "SPI_CS":   "P0_7"
        },

I also downgraded test_buffer to 4096 like other boards listed (although no idea if used or necessary etc.)

Seemed to do the trick.

Was merely curious as to why this board is not included by default.

@gerriko
I do not know, but generally speaking i have the impression as if the Maxim team could not keep up maintaining the software stack for their hardware. Whenever there is an issue with Maxim targets and the mbed core team lets maxim know about the issue… well then absolutely nothing seems to happen for months or even for years.

Actually also i signalized the very same bug (with severeal other issues related to this board). Currently the last version of Mbed-os which is supported on this board is V5.9.7. This version is so ancient you can not even use it with Mbed Studio. Would you try any versions above that you can still blink leds but BLE, USB, and even timing APIs seem to have issues without any signs of this board still being supported by anyone.

I decided to give it a try and I amended the mbed_lib.json file found in the storage/blockdevice/COMPONENT_SD directory in Mbed OS 6.2 to include the MAX32630FTHR device and it appears to work

By doing so, you are actually modifying mbes-os itself in your project folder, which means would you update mbed-os version from the internet, you would lose all the modifications and your project would break next time you compile it.

There is a better way to achieve the same effect.
Place a file called “mbed_app.json” in the root directory of the project wuth the following content:

{
    "target_overrides": {
        "MAX32630FTHR": {
            "target.features_add": [
                "STORAGE"
            ],
            "target.components_add": [
                "SD"
            ],
            "sd.SPI_MOSI": "P0_5",
            "sd.SPI_MISO": "P0_6",
            "sd.SPI_CLK": "P0_4",
            "sd.SPI_CS": "P0_7"
        }
    }
}

This file will let you use BlockDevice API with the on-board SD slot of this target while you can also update your mbed version any time as you did not modify anything in the mbed-os folder.

Thanks, yes I can see that this is a much better way to doing things,