We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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