I'm building some code to read the SD Card on an MCB2300. I'm using the RL-FlashFS library.
I have configured CCLK to 48MHZ and PCLK_MCI to CCLK, and changed the #defines in MCI_LPC23xx.c to read:
#define __MCLK 48000000 #define __CPUCLK 48000000
My code to initialise the card reads:
uint32_t retv = finit(NULL);
The SD LED on the MCB2300 board comes on when the call is made and then there's a *long* pause and eventually the function returns a value of 2.
I'm using 4.74 of the library and uVision 5
Help please, I am totally baffled.
Thanks, David
I ran a manual flash of the build and was able to get into the debugger.
I had changed this code to let me debug the finit call:
static void init_card (void) { U32 retv = finit (NULL); char buffer[16] = {0}; if (0== retv) return; else { sprintf(buffer, "%d", retv); } }
For the avoidance of doubt I am trying to build/use the sample from directory:C:\Keil_v5\ARM\Boards\Keil\MCB2300\RL\FlashFS\SD_Filethat was installed by MDK79525. This has version V4.51 of MCI_LPC23xx.c and File_Config.c as distinct from the version in the downloadable sample which is V3.21.
Of course the V3.21 code won't compile:
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Build target 'MCB2300' compiling File_Config.c... File_Config.c(150): error: #77-D: this declaration has no storage class or type specifier DEVCONF const FlashDev [1] = {0,0}; File_Config.c(150): error: #65: expected a ";" DEVCONF const FlashDev [1] = {0,0}; File_Config.c(169): error: #77-D: this declaration has no storage class or type specifier DEVCONF const SpiDev [1] = {0,0}; File_Config.c(169): error: #65: expected a ";" DEVCONF const SpiDev [1] = {0,0}; File_Config.c(211): error: #77-D: this declaration has no storage class or type specifier DEVCONF const RamDev [1] = {0,0}; File_Config.c(211): error: #65: expected a ";" DEVCONF const RamDev [1] = {0,0}; File_Config.c: 0 warnings, 6 errors compiling Getline.c... compiling Serial.c... compiling MCI_LPC23xx.c... MCI_LPC23xx.c(96): error: #20: identifier "CARD_NONE" is undefined CardType = CARD_NONE; MCI_LPC23xx.c(101): error: #20: identifier "CARD_MMC" is undefined CardType = CARD_MMC; MCI_LPC23xx.c(115): error: #20: identifier "CARD_SD" is undefined CardType = CARD_SD; MCI_LPC23xx.c(135): error: #20: identifier "CARD_MMC" is undefined if (CardType == CARD_MMC) { MCI_LPC23xx.c(146): error: #20: identifier "CARD_SD" is undefined if (CardType == CARD_SD) { MCI_LPC23xx.c(211): error: #20: identifier "CARD_SD" is undefined if (CardType == CARD_SD) { MCI_LPC23xx.c(230): error: #20: identifier "CARD_MMC" is undefined if (CardType == CARD_MMC) { MCI_LPC23xx.c(257): error: #20: identifier "CARD_SD" is undefined if (CardType == CARD_SD) { MCI_LPC23xx.c(280): error: #20: identifier "CARD_SD" is undefined if (CardType == CARD_SD) { MCI_LPC23xx.c(388): error: #20: identifier "CARD_SD" is undefined if (CardType == CARD_SD) { MCI_LPC23xx.c(654): error: #20: identifier "MMCFG" is undefined BOOL mci_read_config (MMCFG *cfg) { MCI_LPC23xx.c(669): error: #20: identifier "CARD_SD" is undefined if (CardType == CARD_SD) { MCI_LPC23xx.c: 0 warnings, 12 errors
David