mirror of https://github.com/ARMmbed/mbed-os.git
Added mbed_app.json support for definitions of SPI pin names for SDCard support, the default configuration being for the CI test shield plugged into the Arduino header.
parent
9e5cca3be0
commit
b939ebca60
|
@ -0,0 +1,118 @@
|
||||||
|
{
|
||||||
|
"config": {
|
||||||
|
"UART_RX": "D0",
|
||||||
|
"UART_TX": "D1",
|
||||||
|
"DIO_0": "D0",
|
||||||
|
"DIO_1": "D1",
|
||||||
|
"DIO_2": "D2",
|
||||||
|
"DIO_3": "D3",
|
||||||
|
"DIO_4": "D4",
|
||||||
|
"DIO_5": "D5",
|
||||||
|
"DIO_6": "D6",
|
||||||
|
"DIO_7": "D7",
|
||||||
|
"DIO_8": "D8",
|
||||||
|
"DIO_9": "D9",
|
||||||
|
"SPI_CS": "D10",
|
||||||
|
"SPI_MOSI": "D11",
|
||||||
|
"SPI_MISO": "D12",
|
||||||
|
"SPI_CLK": "D13",
|
||||||
|
"I2C_SDA": "D14",
|
||||||
|
"I2C_SCL": "D15",
|
||||||
|
"I2C_TEMP_ADDR":"0x90",
|
||||||
|
"I2C_EEPROM_ADDR":"0xA0",
|
||||||
|
"AIN_0": "A0",
|
||||||
|
"AIN_1": "A1",
|
||||||
|
"AIN_2": "A2",
|
||||||
|
"AIN_3": "A3",
|
||||||
|
"AIN_4": "A4",
|
||||||
|
"AIN_5": "A5",
|
||||||
|
"AOUT" : "A5",
|
||||||
|
"PWM_0": "D3",
|
||||||
|
"PWM_1": "D5",
|
||||||
|
"PWM_2": "D6",
|
||||||
|
"PWM_3": "D9",
|
||||||
|
"DEBUG_MSG": 0,
|
||||||
|
"DEVICE_SPI": 1,
|
||||||
|
"FSFAT_SDCARD_INSTALLED": 1
|
||||||
|
},
|
||||||
|
"target_overrides": {
|
||||||
|
"DISCO_F051R8": {
|
||||||
|
"SPI_MOSI": "SPI_MOSI",
|
||||||
|
"SPI_MISO": "SPI_MISO",
|
||||||
|
"SPI_CLK": "SPI_SCK",
|
||||||
|
"SPI_CS": "SPI_CS"
|
||||||
|
},
|
||||||
|
"K20D50M": {
|
||||||
|
"SPI_MOSI": "PTD2",
|
||||||
|
"SPI_MISO": "PTD3",
|
||||||
|
"SPI_CLK": "PTD1",
|
||||||
|
"SPI_CS": "PTC2"
|
||||||
|
},
|
||||||
|
"KL22F": {
|
||||||
|
"SPI_MOSI": "PTD6",
|
||||||
|
"SPI_MISO": "PTD7",
|
||||||
|
"SPI_CLK": "PTD5",
|
||||||
|
"SPI_CS": "PTD4"
|
||||||
|
},
|
||||||
|
"KL25Z": {
|
||||||
|
"SPI_MOSI": "PTD2",
|
||||||
|
"SPI_MISO": "PTD3",
|
||||||
|
"SPI_CLK": "PTD1",
|
||||||
|
"SPI_CS": "PTD0"
|
||||||
|
},
|
||||||
|
"KL43Z": {
|
||||||
|
"SPI_MOSI": "PTD6",
|
||||||
|
"SPI_MISO": "PTD7",
|
||||||
|
"SPI_CLK": "PTD5",
|
||||||
|
"SPI_CS": "PTD4"
|
||||||
|
},
|
||||||
|
"KL46Z": {
|
||||||
|
"SPI_MOSI": "PTD6",
|
||||||
|
"SPI_MISO": "PTD7",
|
||||||
|
"SPI_CLK": "PTD5",
|
||||||
|
"SPI_CS": "PTD4"
|
||||||
|
},
|
||||||
|
"K64F": {
|
||||||
|
"SPI_MOSI": "PTE3",
|
||||||
|
"SPI_MISO": "PTE1",
|
||||||
|
"SPI_CLK": "PTE2",
|
||||||
|
"SPI_CS": "PTE4"
|
||||||
|
},
|
||||||
|
"K66F": {
|
||||||
|
"SPI_MOSI": "PTE3",
|
||||||
|
"SPI_MISO": "PTE1",
|
||||||
|
"SPI_CLK": "PTE2",
|
||||||
|
"SPI_CS": "PTE4"
|
||||||
|
},
|
||||||
|
"LPC11U37H_401": {
|
||||||
|
"SPI_MOSI": "SDMOSI",
|
||||||
|
"SPI_MISO": "SDMISO",
|
||||||
|
"SPI_CLK": "SDSCLK",
|
||||||
|
"SPI_CS": "SDSSEL"
|
||||||
|
},
|
||||||
|
"LPC2368": {
|
||||||
|
"SPI_MOSI": "p11",
|
||||||
|
"SPI_MISO": "p12",
|
||||||
|
"SPI_CLK": "p13",
|
||||||
|
"SPI_CS": "p14"
|
||||||
|
},
|
||||||
|
"NUCLEO_L031K6": {
|
||||||
|
"SPI_MOSI": "SPI_MOSI",
|
||||||
|
"SPI_MISO": "SPI_MISO",
|
||||||
|
"SPI_CLK": "SPI_SCK",
|
||||||
|
"SPI_CS": "SPI_CS"
|
||||||
|
},
|
||||||
|
"nRF51822": {
|
||||||
|
"SPI_MOSI": "p12",
|
||||||
|
"SPI_MISO": "p13",
|
||||||
|
"SPI_CLK": "p15",
|
||||||
|
"SPI_CS": "p14"
|
||||||
|
},
|
||||||
|
"RZ_A1H": {
|
||||||
|
"SPI_MOSI": "P8_5",
|
||||||
|
"SPI_MISO": "P8_6",
|
||||||
|
"SPI_CLK": "P8_3",
|
||||||
|
"SPI_CS": "P8_4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -46,6 +46,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
|
#include "mbed_config.h"
|
||||||
#include "FATFileSystem.h"
|
#include "FATFileSystem.h"
|
||||||
#include "SDBlockDevice.h"
|
#include "SDBlockDevice.h"
|
||||||
#include "test_env.h"
|
#include "test_env.h"
|
||||||
|
@ -67,18 +68,21 @@ using namespace utest::v1;
|
||||||
|
|
||||||
/* DEVICE_SPI
|
/* DEVICE_SPI
|
||||||
* This symbol is defined in targets.json if the target has a SPI interface, which is required for SDCard support.
|
* This symbol is defined in targets.json if the target has a SPI interface, which is required for SDCard support.
|
||||||
* FSFAT_SDCARD_INSTALLTED
|
|
||||||
* For testing purposes, an SDCard must be installed on the target for the test cases in this file to succeed.
|
|
||||||
* If the target has an SD card installed then uncomment the #define FSFAT_SDCARD_INSTALLED directive for the target.
|
|
||||||
*
|
*
|
||||||
* Notes
|
* MBED_CONF_APP_FSFAT_SDCARD_INSTALLED
|
||||||
* The following 2 lines should be instated to perform the tests in this file:
|
* For testing purposes, an SDCard must be installed on the target for the test cases in this file to succeed.
|
||||||
* #define FSFAT_SDCARD_INSTALLED
|
* If the target has an SD card installed then the MBED_CONF_APP_FSFAT_SDCARD_INSTALLED will be generated
|
||||||
* #define DEVICE_SPI
|
* from the mbed_app.json, which includes the line
|
||||||
|
* {
|
||||||
|
* "config": {
|
||||||
|
* "UART_RX": "D0",
|
||||||
|
* <<< lines removed >>>
|
||||||
|
* "DEVICE_SPI": 1,
|
||||||
|
* "MBED_CONF_APP_FSFAT_SDCARD_INSTALLED": 1
|
||||||
|
* },
|
||||||
|
* <<< lines removed >>>
|
||||||
*/
|
*/
|
||||||
#define FSFAT_SDCARD_INSTALLED
|
#if defined(DEVICE_SPI) && defined(MBED_CONF_APP_FSFAT_SDCARD_INSTALLED)
|
||||||
#define DEVICE_SPI
|
|
||||||
#if defined(DEVICE_SPI) && defined(FSFAT_SDCARD_INSTALLED)
|
|
||||||
|
|
||||||
#define FSFAT_BASIC_TEST_00 fsfat_basic_test_00
|
#define FSFAT_BASIC_TEST_00 fsfat_basic_test_00
|
||||||
#define FSFAT_BASIC_TEST_01 fsfat_basic_test_01
|
#define FSFAT_BASIC_TEST_01 fsfat_basic_test_01
|
||||||
|
@ -94,77 +98,9 @@ const int FSFAT_BASIC_DATA_SIZE = 256;
|
||||||
static char fsfat_basic_msg_g[FSFAT_BASIC_MSG_BUF_SIZE];
|
static char fsfat_basic_msg_g[FSFAT_BASIC_MSG_BUF_SIZE];
|
||||||
|
|
||||||
|
|
||||||
#if defined(TARGET_KL25Z)
|
SDBlockDevice sd(MBED_CONF_APP_SPI_MOSI, MBED_CONF_APP_SPI_MISO, MBED_CONF_APP_SPI_CLK, MBED_CONF_APP_SPI_CS);
|
||||||
SDBlockDevice sd(PTD2, PTD3, PTD1, PTD0);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
FATFileSystem fs(sd_mount_pt, &sd);
|
||||||
|
|
||||||
#elif defined(TARGET_KL46Z) || defined(TARGET_KL43Z)
|
|
||||||
SDBlockDevice sd(PTD6, PTD7, PTD5, PTD4);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_K64F) || defined(TARGET_K66F)
|
|
||||||
SDBlockDevice sd(PTE3, PTE1, PTE2, PTE4);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_K22F)
|
|
||||||
SDBlockDevice sd(PTD6, PTD7, PTD5, PTD4);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_K20D50M)
|
|
||||||
SDBlockDevice sd(PTD2, PTD3, PTD1, PTC2);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_nRF51822)
|
|
||||||
SDBlockDevice sd(p12, p13, p15, p14);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_NUCLEO_F030R8) || \
|
|
||||||
defined(TARGET_NUCLEO_F070RB) || \
|
|
||||||
defined(TARGET_NUCLEO_F072RB) || \
|
|
||||||
defined(TARGET_NUCLEO_F091RC) || \
|
|
||||||
defined(TARGET_NUCLEO_F103RB) || \
|
|
||||||
defined(TARGET_NUCLEO_F302R8) || \
|
|
||||||
defined(TARGET_NUCLEO_F303RE) || \
|
|
||||||
defined(TARGET_NUCLEO_F334R8) || \
|
|
||||||
defined(TARGET_NUCLEO_F401RE) || \
|
|
||||||
defined(TARGET_NUCLEO_F410RB) || \
|
|
||||||
defined(TARGET_NUCLEO_F411RE) || \
|
|
||||||
defined(TARGET_NUCLEO_L053R8) || \
|
|
||||||
defined(TARGET_NUCLEO_L073RZ) || \
|
|
||||||
defined(TARGET_NUCLEO_L152RE)
|
|
||||||
SDBlockDevice sd(D11, D12, D13, D10);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_DISCO_F051R8) || \
|
|
||||||
defined(TARGET_NUCLEO_L031K6)
|
|
||||||
SDBlockDevice sd(SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_LPC2368)
|
|
||||||
SDBlockDevice sd(p11, p12, p13, p14);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_LPC11U68)
|
|
||||||
SDBlockDevice sd(D11, D12, D13, D10);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_LPC1549)
|
|
||||||
SDBlockDevice sd(D11, D12, D13, D10);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_RZ_A1H)
|
|
||||||
SDBlockDevice sd(P8_5, P8_6, P8_3, P8_4);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_LPC11U37H_401)
|
|
||||||
SDBlockDevice sd(SDMOSI, SDMISO, SDSCLK, SDSSEL);
|
|
||||||
FATFileSystem fs(sd_mount_pt, &sd);
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "[NOT SUPPORTED] Instantiate SDBlockDevice sd(p11, p12, p13, p14) with the correct pin specification for target"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define FSFAT_BASIC_MSG(_buf, _max_len, _fmt, ...) \
|
#define FSFAT_BASIC_MSG(_buf, _max_len, _fmt, ...) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
|
@ -507,7 +443,7 @@ static control_t fsfat_basic_test_dummy()
|
||||||
return CaseNext;
|
return CaseNext;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* defined(DEVICE_SPI) && defined(FSFAT_SDCARD_INSTALLED) */
|
#endif /* defined(DEVICE_SPI) && defined(MBED_CONF_APP_FSFAT_SDCARD_INSTALLED) */
|
||||||
|
|
||||||
utest::v1::status_t greentea_setup(const size_t number_of_cases)
|
utest::v1::status_t greentea_setup(const size_t number_of_cases)
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mbed.h"
|
#include "mbed.h"
|
||||||
|
#include "mbed_config.h"
|
||||||
#include "SDBlockDevice.h"
|
#include "SDBlockDevice.h"
|
||||||
#include "FATFileSystem.h"
|
#include "FATFileSystem.h"
|
||||||
#include "fsfat_debug.h"
|
#include "fsfat_debug.h"
|
||||||
|
@ -44,6 +45,7 @@
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#endif
|
#endif
|
||||||
using namespace utest::v1;
|
using namespace utest::v1;
|
||||||
|
//using namespace mbed;
|
||||||
|
|
||||||
/// @cond FSFAT_DOXYGEN_DISABLE
|
/// @cond FSFAT_DOXYGEN_DISABLE
|
||||||
#ifdef FSFAT_DEBUG
|
#ifdef FSFAT_DEBUG
|
||||||
|
@ -56,18 +58,21 @@ using namespace utest::v1;
|
||||||
|
|
||||||
/* DEVICE_SPI
|
/* DEVICE_SPI
|
||||||
* This symbol is defined in targets.json if the target has a SPI interface, which is required for SDCard support.
|
* This symbol is defined in targets.json if the target has a SPI interface, which is required for SDCard support.
|
||||||
* FSFAT_SDCARD_INSTALLTED
|
|
||||||
* For testing purposes, an SDCard must be installed on the target for the test cases in this file to succeed.
|
|
||||||
* If the target has an SD card installed then uncomment the #define FSFAT_SDCARD_INSTALLED directive for the target.
|
|
||||||
*
|
*
|
||||||
* Notes
|
* MBED_CONF_APP_FSFAT_SDCARD_INSTALLED
|
||||||
* The following 2 lines should be instated to perform the tests in this file:
|
* For testing purposes, an SDCard must be installed on the target for the test cases in this file to succeed.
|
||||||
* #define FSFAT_SDCARD_INSTALLED
|
* If the target has an SD card installed then the MBED_CONF_APP_FSFAT_SDCARD_INSTALLED will be generated
|
||||||
* #define DEVICE_SPI
|
* from the mbed_app.json, which includes the line
|
||||||
|
* {
|
||||||
|
* "config": {
|
||||||
|
* "UART_RX": "D0",
|
||||||
|
* <<< lines removed >>>
|
||||||
|
* "DEVICE_SPI": 1,
|
||||||
|
* "FSFAT_SDCARD_INSTALLED": 1
|
||||||
|
* },
|
||||||
|
* <<< lines removed >>>
|
||||||
*/
|
*/
|
||||||
#define FSFAT_SDCARD_INSTALLED
|
#if defined(DEVICE_SPI) && defined(MBED_CONF_APP_FSFAT_SDCARD_INSTALLED)
|
||||||
#define DEVICE_SPI
|
|
||||||
#if defined(DEVICE_SPI) && defined(FSFAT_SDCARD_INSTALLED)
|
|
||||||
|
|
||||||
static char fsfat_fopen_utest_msg_g[FSFAT_UTEST_MSG_BUF_SIZE];
|
static char fsfat_fopen_utest_msg_g[FSFAT_UTEST_MSG_BUF_SIZE];
|
||||||
#define FSFAT_FOPEN_TEST_MOUNT_PT_NAME "sd"
|
#define FSFAT_FOPEN_TEST_MOUNT_PT_NAME "sd"
|
||||||
|
@ -77,78 +82,9 @@ static char fsfat_fopen_utest_msg_g[FSFAT_UTEST_MSG_BUF_SIZE];
|
||||||
static const char *sd_badfile_path = "/sd/badfile.txt";
|
static const char *sd_badfile_path = "/sd/badfile.txt";
|
||||||
static const char *sd_testfile_path = "/sd/test.txt";
|
static const char *sd_testfile_path = "/sd/test.txt";
|
||||||
|
|
||||||
|
SDBlockDevice sd(MBED_CONF_APP_SPI_MOSI, MBED_CONF_APP_SPI_MISO, MBED_CONF_APP_SPI_CLK, MBED_CONF_APP_SPI_CS);
|
||||||
#if defined(TARGET_KL25Z)
|
|
||||||
SDBlockDevice sd(PTD2, PTD3, PTD1, PTD0);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
FATFileSystem fs("sd", &sd);
|
||||||
|
|
||||||
#elif defined(TARGET_KL46Z) || defined(TARGET_KL43Z)
|
|
||||||
SDBlockDevice sd(PTD6, PTD7, PTD5, PTD4);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_K64F) || defined(TARGET_K66F)
|
|
||||||
SDBlockDevice sd(PTE3, PTE1, PTE2, PTE4);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_K22F)
|
|
||||||
SDBlockDevice sd(PTD6, PTD7, PTD5, PTD4);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_K20D50M)
|
|
||||||
SDBlockDevice sd(PTD2, PTD3, PTD1, PTC2);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_nRF51822)
|
|
||||||
SDBlockDevice sd(p12, p13, p15, p14);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_NUCLEO_F030R8) || \
|
|
||||||
defined(TARGET_NUCLEO_F070RB) || \
|
|
||||||
defined(TARGET_NUCLEO_F072RB) || \
|
|
||||||
defined(TARGET_NUCLEO_F091RC) || \
|
|
||||||
defined(TARGET_NUCLEO_F103RB) || \
|
|
||||||
defined(TARGET_NUCLEO_F302R8) || \
|
|
||||||
defined(TARGET_NUCLEO_F303RE) || \
|
|
||||||
defined(TARGET_NUCLEO_F334R8) || \
|
|
||||||
defined(TARGET_NUCLEO_F401RE) || \
|
|
||||||
defined(TARGET_NUCLEO_F410RB) || \
|
|
||||||
defined(TARGET_NUCLEO_F411RE) || \
|
|
||||||
defined(TARGET_NUCLEO_L053R8) || \
|
|
||||||
defined(TARGET_NUCLEO_L073RZ) || \
|
|
||||||
defined(TARGET_NUCLEO_L152RE)
|
|
||||||
SDBlockDevice sd(D11, D12, D13, D10);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_DISCO_F051R8) || \
|
|
||||||
defined(TARGET_NUCLEO_L031K6)
|
|
||||||
SDBlockDevice sd(SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_LPC2368)
|
|
||||||
SDBlockDevice sd(p11, p12, p13, p14);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_LPC11U68)
|
|
||||||
SDBlockDevice sd(D11, D12, D13, D10);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_LPC1549)
|
|
||||||
SDBlockDevice sd(D11, D12, D13, D10);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_RZ_A1H)
|
|
||||||
SDBlockDevice sd(P8_5, P8_6, P8_3, P8_4);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#elif defined(TARGET_LPC11U37H_401)
|
|
||||||
SDBlockDevice sd(SDMOSI, SDMISO, SDSCLK, SDSSEL);
|
|
||||||
FATFileSystem fs("sd", &sd);
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "[NOT SUPPORTED] Instantiate SDBlockDevice sd(p11, p12, p13, p14) with the correct pin specification for target"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define FSFAT_FOPEN_TEST_01 fsfat_fopen_test_01
|
#define FSFAT_FOPEN_TEST_01 fsfat_fopen_test_01
|
||||||
#define FSFAT_FOPEN_TEST_02 fsfat_fopen_test_02
|
#define FSFAT_FOPEN_TEST_02 fsfat_fopen_test_02
|
||||||
#define FSFAT_FOPEN_TEST_03 fsfat_fopen_test_03
|
#define FSFAT_FOPEN_TEST_03 fsfat_fopen_test_03
|
||||||
|
@ -1548,7 +1484,7 @@ static control_t fsfat_fopen_test_dummy()
|
||||||
return CaseNext;
|
return CaseNext;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* defined(DEVICE_SPI) && defined(FSFAT_SDCARD_INSTALLED) */
|
#endif /* defined(DEVICE_SPI) && defined(MBED_CONF_APP_FSFAT_SDCARD_INSTALLED) */
|
||||||
|
|
||||||
|
|
||||||
/// @cond FSFAT_DOXYGEN_DISABLE
|
/// @cond FSFAT_DOXYGEN_DISABLE
|
||||||
|
|
|
@ -92,16 +92,178 @@ Switch to the `feature-storage` branch using the following commands:
|
||||||
<other branches deleted>
|
<other branches deleted>
|
||||||
simhug01@E107851:/d/demo_area/ex_app1$
|
simhug01@E107851:/d/demo_area/ex_app1$
|
||||||
|
|
||||||
|
When the feature-storage branch has been merged to master, then the following the sd-driver repository should also be cloned:
|
||||||
|
|
||||||
|
simhug01@E107851:/d/demo_area/ex_app1$ mbed import https://github.com/ARMmbed/sd-driver
|
||||||
|
|
||||||
|
Copy the mbed_app.json file to the top level of the project:
|
||||||
|
|
||||||
|
simhug01@E107851:/d/demo_area/ex_app1$ cp sd-driver/config/mbed_app.json .
|
||||||
|
|
||||||
Build the test cases for the K64F target using the following commands:
|
Build the test cases for the K64F target using the following commands:
|
||||||
|
|
||||||
simhug01@E107851:/d/demo_area/ex_app1$ mbed -v test --compile -t GCC_ARM -m K64F -DFSFAT_SDCARD_INSTALLED 2>&1 | tee build_tests_gcc_20161219_1007.txt
|
simhug01@E107851:/d/demo_area/ex_app1$ mbed -v test --compile -t GCC_ARM -m K64F --app-config mbed_app.json 2>&1 | tee build_tests_gcc_20161219_1007.txt
|
||||||
<trace removed>
|
<trace removed>
|
||||||
simhug01@E107851:/d/demo_area/ex_app1$
|
simhug01@E107851:/d/demo_area/ex_app1$
|
||||||
|
|
||||||
The complete [build log][BUILD-TESTS-GCC-20161219-1007] is available for reference.
|
The complete [build log][BUILD-TESTS-GCC-20161219-1007] is available for reference.
|
||||||
|
|
||||||
|
|
||||||
### <a name="insert-sdcard-into-k64f"></a> Insert SDCard into K64F
|
### <a name="insert-sdcard-into-k64f"></a> Testing with an SDCard on Target XYZ
|
||||||
|
|
||||||
|
The standard way to test is with the mbed CI Test Shield plugged into the target board. This pin mapping for this configuration is parameeterised in the mbed_app.json file.
|
||||||
|
|
||||||
|
The following is an example of the mbed_app.json file that was defined in the project at the time of writing:
|
||||||
|
|
||||||
|
{
|
||||||
|
"config": {
|
||||||
|
"UART_RX": "D0",
|
||||||
|
"UART_TX": "D1",
|
||||||
|
"DIO_0": "D0",
|
||||||
|
"DIO_1": "D1",
|
||||||
|
"DIO_2": "D2",
|
||||||
|
"DIO_3": "D3",
|
||||||
|
"DIO_4": "D4",
|
||||||
|
"DIO_5": "D5",
|
||||||
|
"DIO_6": "D6",
|
||||||
|
"DIO_7": "D7",
|
||||||
|
"DIO_8": "D8",
|
||||||
|
"DIO_9": "D9",
|
||||||
|
"SPI_CS": "D10",
|
||||||
|
"SPI_MOSI": "D11",
|
||||||
|
"SPI_MISO": "D12",
|
||||||
|
"SPI_CLK": "D13",
|
||||||
|
"I2C_SDA": "D14",
|
||||||
|
"I2C_SCL": "D15",
|
||||||
|
"I2C_TEMP_ADDR":"0x90",
|
||||||
|
"I2C_EEPROM_ADDR":"0xA0",
|
||||||
|
"AIN_0": "A0",
|
||||||
|
"AIN_1": "A1",
|
||||||
|
"AIN_2": "A2",
|
||||||
|
"AIN_3": "A3",
|
||||||
|
"AIN_4": "A4",
|
||||||
|
"AIN_5": "A5",
|
||||||
|
"AOUT" : "A5",
|
||||||
|
"PWM_0": "D3",
|
||||||
|
"PWM_1": "D5",
|
||||||
|
"PWM_2": "D6",
|
||||||
|
"PWM_3": "D9",
|
||||||
|
"DEBUG_MSG": 0,
|
||||||
|
"DEVICE_SPI": 1,
|
||||||
|
"FSFAT_SDCARD_INSTALLED": 1
|
||||||
|
},
|
||||||
|
"target_overrides": {
|
||||||
|
"DISCO_F051R8": {
|
||||||
|
"SPI_MOSI": "SPI_MOSI",
|
||||||
|
"SPI_MISO": "SPI_MISO",
|
||||||
|
"SPI_CLK": "SPI_SCK",
|
||||||
|
"SPI_CS": "SPI_CS"
|
||||||
|
},
|
||||||
|
"K20D50M": {
|
||||||
|
"SPI_MOSI": "PTD2",
|
||||||
|
"SPI_MISO": "PTD3",
|
||||||
|
"SPI_CLK": "PTD1",
|
||||||
|
"SPI_CS": "PTC2"
|
||||||
|
},
|
||||||
|
"KL22F": {
|
||||||
|
"SPI_MOSI": "PTD6",
|
||||||
|
"SPI_MISO": "PTD7",
|
||||||
|
"SPI_CLK": "PTD5",
|
||||||
|
"SPI_CS": "PTD4"
|
||||||
|
},
|
||||||
|
"KL25Z": {
|
||||||
|
"SPI_MOSI": "PTD2",
|
||||||
|
"SPI_MISO": "PTD3",
|
||||||
|
"SPI_CLK": "PTD1",
|
||||||
|
"SPI_CS": "PTD0"
|
||||||
|
},
|
||||||
|
"KL43Z": {
|
||||||
|
"SPI_MOSI": "PTD6",
|
||||||
|
"SPI_MISO": "PTD7",
|
||||||
|
"SPI_CLK": "PTD5",
|
||||||
|
"SPI_CS": "PTD4"
|
||||||
|
},
|
||||||
|
"KL46Z": {
|
||||||
|
"SPI_MOSI": "PTD6",
|
||||||
|
"SPI_MISO": "PTD7",
|
||||||
|
"SPI_CLK": "PTD5",
|
||||||
|
"SPI_CS": "PTD4"
|
||||||
|
},
|
||||||
|
"K64F": {
|
||||||
|
"SPI_MOSI": "PTE3",
|
||||||
|
"SPI_MISO": "PTE1",
|
||||||
|
"SPI_CLK": "PTE2",
|
||||||
|
"SPI_CS": "PTE4"
|
||||||
|
},
|
||||||
|
"K66F": {
|
||||||
|
"SPI_MOSI": "PTE3",
|
||||||
|
"SPI_MISO": "PTE1",
|
||||||
|
"SPI_CLK": "PTE2",
|
||||||
|
"SPI_CS": "PTE4"
|
||||||
|
},
|
||||||
|
"LPC11U37H_401": {
|
||||||
|
"SPI_MOSI": "SDMOSI",
|
||||||
|
"SPI_MISO": "SDMISO",
|
||||||
|
"SPI_CLK": "SDSCLK",
|
||||||
|
"SPI_CS": "SDSSEL"
|
||||||
|
},
|
||||||
|
"LPC2368": {
|
||||||
|
"SPI_MOSI": "p11",
|
||||||
|
"SPI_MISO": "p12",
|
||||||
|
"SPI_CLK": "p13",
|
||||||
|
"SPI_CS": "p14"
|
||||||
|
},
|
||||||
|
"NUCLEO_L031K6": {
|
||||||
|
"SPI_MOSI": "SPI_MOSI",
|
||||||
|
"SPI_MISO": "SPI_MISO",
|
||||||
|
"SPI_CLK": "SPI_SCK",
|
||||||
|
"SPI_CS": "SPI_CS"
|
||||||
|
},
|
||||||
|
"nRF51822": {
|
||||||
|
"SPI_MOSI": "p12",
|
||||||
|
"SPI_MISO": "p13",
|
||||||
|
"SPI_CLK": "p15",
|
||||||
|
"SPI_CS": "p14"
|
||||||
|
},
|
||||||
|
"RZ_A1H": {
|
||||||
|
"SPI_MOSI": "P8_5",
|
||||||
|
"SPI_MISO": "P8_6",
|
||||||
|
"SPI_CLK": "P8_3",
|
||||||
|
"SPI_CS": "P8_4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Note the following things about the mbed_app.json file:
|
||||||
|
|
||||||
|
- The mbed_app.json is used to define target specific symbols for the SPI pins used to connect the SDCard slot to the target MCU:
|
||||||
|
- "SPI\_CS".
|
||||||
|
- "SPI\_MOSI".
|
||||||
|
- "SPI\_MISO".
|
||||||
|
- "SPI\_CLK".
|
||||||
|
- The default configuration is defined in the "config" section for mappings to the standard Arduino header pins for the SPI bus.
|
||||||
|
The "config" section defines a dictionary which maps functional names to target board Arduino header pins:
|
||||||
|
- "SPI\_CS": "D10". This causes the MBED\_CONF\_APP\_SPI\_CS symbol to be defined in mbed\_config.h as D10, which is used in the filesystem test implementation.
|
||||||
|
D10 is defined in the target specific PinNames.h file.
|
||||||
|
- "SPI\_MOSI": "D11". This causes the MBED\_CONF\_APP\_SPI\_MOSI symbol to be defined in mbed\_config.h.
|
||||||
|
- "SPI\_MISO": "D12". This causes the MBED\_CONF\_APP\_SPI\_MISO symbol to be defined in mbed\_config.h.
|
||||||
|
- "SPI\_CLK": "D13". This causes the MBED\_CONF\_APP\_SPI\_CLK symbol to be defined in mbed\_config.h.
|
||||||
|
- The ""target_overrides" is used to override the "SPI\_xxx" symbols for specific target boards, which may have an SDCard slot, for example.
|
||||||
|
This is the case for the K64F, where the "SPI\_xxx" are mapped to the pin names for the on-board SDCard
|
||||||
|
|
||||||
|
```
|
||||||
|
"K64F": {
|
||||||
|
"SPI_MOSI": "PTE3",
|
||||||
|
"SPI_MISO": "PTE1",
|
||||||
|
"SPI_CLK": "PTE2",
|
||||||
|
"SPI_CS": "PTE4"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- Thus, in the absence of any target specific definitions in the "target_overrides" section, all boards will default to
|
||||||
|
use the Arduino header configuration.
|
||||||
|
|
||||||
|
|
||||||
|
#### <a name="insert-sdcard-into-k64f"></a> Insert SDCard into K64F
|
||||||
|
|
||||||
The test cases have been run on a K64F with the following microSDHC cards:
|
The test cases have been run on a K64F with the following microSDHC cards:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue