This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Error when compiling MCB2300_SD_FILE example with LPC2378

Hello,
First sorry for my english if you see some mistakes.
I try to use this SD Card example, I work with the MCB2300 board LPC2378.
I have the RL-ARM last version (MDK420.exe), but I can't build the project.

My problem is an error in the file SD_File.c at this line :

(line 516) while ((retv = finit ()) != 0) { /* Wait until the Card is ready*/

the error message is :

SD_File.c(516): error: #165: too few arguments in function call

So my problem is the finit() function, defined in rtl.h :

(line 380) extern int finit (const char *drive);

I have found some informations about this function:
http://www.keil.com/support/man/docs/rlarm/rlarm_finit.htm
Here I have learnt that when drive is "" like in this example, Default System drive as defined in the file File_Config.c

So I have look at my File_Config.c, and I found this Lines :

// <o>Default Drive <1=> Flash <2=> SPI Flash <3=> RAM <4=> Memory Card // This drive is used when a Drive letter is not provided
(line 113) #define DEF_DRIVE 4

And now I don't understand where is the problem?
If you have some idea, please help me!

Parents
  • That error message tells you exactly what is wrong!

    "too few" means "insufficient" or "not enough"

    So, look at the line where you make that function call:

    while ((retv = finit ()) != 0) { /* Wait until the Card is ready*/
    

    How many arguments (or "parameters") have you supplied to finit() ?

    How many arguments does finit() require?

    Clearly, if the number of arguments that you supply to finit() is less than the number of arguments required by finit() - then you will get an error message saying, "too few arguments in function call"

    You fix the problem by supplying the correct number of arguments!

Reply
  • That error message tells you exactly what is wrong!

    "too few" means "insufficient" or "not enough"

    So, look at the line where you make that function call:

    while ((retv = finit ()) != 0) { /* Wait until the Card is ready*/
    

    How many arguments (or "parameters") have you supplied to finit() ?

    How many arguments does finit() require?

    Clearly, if the number of arguments that you supply to finit() is less than the number of arguments required by finit() - then you will get an error message saying, "too few arguments in function call"

    You fix the problem by supplying the correct number of arguments!

Children