Discussion in "Project Help" started by    labarbacue    Apr 24, 2009.
Sun May 10 2009, 01:01 pm
#31
Okay, the next step is the get_fattime() function.

Since you don't have a RTC, you can just set the time and date to a static value for testing purposes.

Here, I have set the time and date for 5/10/09 at 11:55:00am...
// _____________________________________________________________________________
// _____________________________________________________________________________
//                                                                              
ULONG get_fattime()
   {
   BYTE Month, Year, Date, Hours, Minutes, Seconds;
   
   Month = 5;
   Year = 9;
   Date = 10;
   Hours = 11;
   Minutes = 55;
   Seconds = 0;
   
   return	  ((ULONG)((WORD)(Year) + 2000 - 1980) << 25)
                  | ((ULONG)(Month) << 21)
                  | ((ULONG)(Date) << 16)
                  | ((ULONG)(Hours) << 11)
                  | ((ULONG)(Minutes) << 5)
                  | ((ULONG)(Seconds) >
>
 1);
   }


Now, when you compile your project, it should compile. You still have a bunch of warnings, but no errors at this point...

Build target 'Target 1'
assembling STARTUP.A51...
compiling MAIN.C...
compiling tff.c...
compiling diskio.c...
DISKIO.C(39): warning C173: missing return-expression
DISKIO.C(36): warning C280: 'drv': unreferenced local variable
DISKIO.C(48): warning C173: missing return-expression
DISKIO.C(45): warning C280: 'drv': unreferenced local variable
DISKIO.C(60): warning C173: missing return-expression
DISKIO.C(54): warning C280: 'drv': unreferenced local variable
DISKIO.C(55): warning C280: 'buff': unreferenced local variable
DISKIO.C(56): warning C280: 'sector': unreferenced local variable
DISKIO.C(57): warning C280: 'count': unreferenced local variable
DISKIO.C(73): warning C173: missing return-expression
DISKIO.C(67): warning C280: 'drv': unreferenced local variable
DISKIO.C(68): warning C280: 'buff': unreferenced local variable
DISKIO.C(69): warning C280: 'sector': unreferenced local variable
DISKIO.C(70): warning C280: 'count': unreferenced local variable
DISKIO.C(85): warning C173: missing return-expression
DISKIO.C(80): warning C280: 'drv': unreferenced local variable
DISKIO.C(81): warning C280: 'ctrl': unreferenced local variable
DISKIO.C(82): warning C280: 'buff': unreferenced local variable
DISKIO.C(39): warning C290: missing return value
DISKIO.C(48): warning C290: missing return value
DISKIO.C(60): warning C290: missing return value
DISKIO.C(73): warning C290: missing return value
DISKIO.C(85): warning C290: missing return value
linking...
Program Size: data=9.0 xdata=647 const=0 code=18681
"SDTEST" - 0 Error(s), 23 Warning(s).

Sun May 10 2009, 01:05 pm
#32
Regarding these errors:

tff.h(300): error C320: Do not forget to set _MCU_ENDIAN properly!
compiling MAIN.c...
tff.h(300): error C320: Do not forget to set _MCU_ENDIAN properly!



Open the tff.h file, and set the options as follows:
#define _MCU_ENDIAN		2
/* The _MCU_ENDIAN defines which access method is used to the FAT structure.
/  1: Enable word access.
/  2: Disable word access and use byte-by-byte access instead.
/  When the architectural byte order of the MCU is big-endian and/or address
/  miss-aligned access results incorrect behavior, the _MCU_ENDIAN must be set to 2.
/  If it is not the case, it can also be set to 1 for good code efficiency. */

#define _FS_READONLY	0
/* Setting _FS_READONLY to 1 defines read only configuration. This removes
/  writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
/  f_truncate, f_getfree and internal writing codes. */

#define _FS_MINIMIZE	0
/* The _FS_MINIMIZE option defines minimization level to remove some functions.
/  0: Full function.
/  1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename are removed.
/  2: f_opendir and f_readdir are removed in addition to level 1.
/  3: f_lseek is removed in addition to level 2. */

#define	_USE_STRFUNC	0
/* To enable string functions, set _USE_STRFUNC to 1 or 2. */

#define	_USE_FORWARD	0
/* To enable f_forward function, set _USE_FORWARD to 1. */

#define _FAT32	0
/* To enable FAT32 support in addition of FAT12/16, set _FAT32 to 1. */

#define _USE_FSINFO	0
/* To enable FSInfo support on FAT32 volume, set _USE_FSINFO to 1. */

#define	_USE_SJIS	0
/* When _USE_SJIS is set to 1, Shift-JIS code transparency is enabled, otherwise
/  only US-ASCII(7bit) code can be accepted as file/directory name. */

#define	_USE_NTFLAG	0
/* When _USE_NTFLAG is set to 1, upper/lower case of the file name is preserved.
/  Note that the files are always accessed in case insensitive. */


Sun May 10 2009, 01:10 pm
#33
my errors after doing this:

Build target 'Target 1'
assembling STARTUP.A51...
compiling diskio.c...
DISKIO.C(17): warning C173: missing return-expression
DISKIO.C(14): warning C280: 'drv': unreferenced local variable
DISKIO.C(26): warning C173: missing return-expression
DISKIO.C(23): warning C280: 'drv': unreferenced local variable
DISKIO.C(38): warning C173: missing return-expression
DISKIO.C(32): warning C280: 'drv': unreferenced local variable
DISKIO.C(33): warning C280: 'buff': unreferenced local variable
DISKIO.C(34): warning C280: 'sector': unreferenced local variable
DISKIO.C(35): warning C280: 'count': unreferenced local variable
DISKIO.C(51): warning C173: missing return-expression
DISKIO.C(45): warning C280: 'drv': unreferenced local variable
DISKIO.C(46): warning C280: 'buff': unreferenced local variable
DISKIO.C(47): warning C280: 'sector': unreferenced local variable
DISKIO.C(48): warning C280: 'count': unreferenced local variable
DISKIO.C(63): warning C173: missing return-expression
DISKIO.C(58): warning C280: 'drv': unreferenced local variable
DISKIO.C(59): warning C280: 'ctrl': unreferenced local variable
DISKIO.C(60): warning C280: 'buff': unreferenced local variable
compiling tff.c...
compiling MAIN.c...
linking...
BL51 BANKED LINKER/LOCATER V6.11 - SN: Eval Version
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2007
"STARTUP.obj",
"diskio.obj",
"tff.obj",
"MAIN.obj"
TO "sd2"
RAMSIZE(256)
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_MOUNT?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_OPEN?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_READ?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_WRITE?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_CLOSE?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_LSEEK?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_OPENDIR?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_READDIR?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_STAT?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_TRUNCATE?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_GETFREE?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_UNLINK?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_MKDIR?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_CHMOD?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_UTIME?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_RENAME?TFF
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_OPEN?TFF
LENGTH: 002CH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_UNLINK?TFF
LENGTH: 0027H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_STAT?TFF
LENGTH: 0025H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_UTIME?TFF
LENGTH: 0024H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_CHMOD?TFF
LENGTH: 0023H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_READ?TFF
LENGTH: 001AH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_GETFREE?TFF
LENGTH: 001AH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_AUTO_MOUNT?TFF
LENGTH: 0019H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_WRITE?TFF
LENGTH: 0019H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_OPENDIR?TFF
LENGTH: 0016H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_TRACE_PATH?TFF
LENGTH: 0015H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_LSEEK?TFF
LENGTH: 0011H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_PUT_CLUSTER?TFF
LENGTH: 0010H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_RESERVE_DIRENTRY?TFF
LENGTH: 0010H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_GET_CLUSTER?TFF
LENGTH: 000DH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_CREATE_CHAIN?TFF
LENGTH: 000DH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_MOVE_WINDOW?TFF
LENGTH: 000CH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_SYNC?TFF
LENGTH: 000BH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_GET_FILEINFO?TFF
LENGTH: 000AH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_DISK_READ?DISKIO
LENGTH: 0009H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_DISK_WRITE?DISKIO
LENGTH: 0009H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_READDIR?TFF
LENGTH: 0009H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_MAKE_DIRFILE?TFF
LENGTH: 0008H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_REMOVE_CHAIN?TFF
LENGTH: 0007H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_CHECK_FS?TFF
LENGTH: 0007H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_CLUST2SECT?TFF
LENGTH: 0005H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_NEXT_DIR_ENTRY?TFF
LENGTH: 0005H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_TRUNCATE?TFF
LENGTH: 0005H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?TFF
LENGTH: 0005H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_MOUNT?TFF
LENGTH: 0003H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_CLOSE?TFF
LENGTH: 0003H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_DISK_INITIALIZE?DISKIO
LENGTH: 0001H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_DISK_STATUS?DISKIO
LENGTH: 0001H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_DISK_WRITE?BYTE
SEGMENT: ?DT?_DISK_WRITE?DISKIO
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_DISK_READ?BYTE
SEGMENT: ?DT?_DISK_READ?DISKIO
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: GET_FATTIME
MODULE: tff.obj (TFF)
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_UTIME?BYTE
SEGMENT: ?DT?_F_UTIME?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_CHMOD?BYTE
SEGMENT: ?DT?_F_CHMOD?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_GETFREE?BYTE
SEGMENT: ?DT?_F_GETFREE?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_STAT?BYTE
SEGMENT: ?DT?_F_STAT?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_READDIR?BYTE
SEGMENT: ?DT?_F_READDIR?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_OPENDIR?BYTE
SEGMENT: ?DT?_F_OPENDIR?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_WRITE?BYTE
SEGMENT: ?DT?_F_WRITE?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_READ?BYTE
SEGMENT: ?DT?_F_READ?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_OPEN?BYTE
SEGMENT: ?DT?_F_OPEN?TFF
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3323H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3326H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3329H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 332CH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 332EH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33B8H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33BBH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33BEH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33C1H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33C3H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33E8H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33EAH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33ECH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33EEH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33F0H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F78H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F7BH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F7EH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F81H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F83H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EB5H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EB7H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EB9H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EBBH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EBDH
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: GET_FATTIME
MODULE: tff.obj (TFF)
ADDRESS: 1D70H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24E4H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24E7H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24EAH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24EDH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24F0H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19A6H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19A9H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19ACH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19AFH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19B2H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: GET_FATTIME
MODULE: tff.obj (TFF)
ADDRESS: 2DD3H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2742H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2744H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2746H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2748H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 274AH
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: GET_FATTIME
MODULE: tff.obj (TFF)
ADDRESS: 2784H
******************************************************************************
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 2FD8H BYTE (598%) *
******************************************************************************
Program Size: data=650.0 xdata=0 code=14804
LINK/LOCATE RUN COMPLETE. 20 WARNING(S), 84 ERROR(S)
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_MOUNT?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_OPEN?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_READ?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_WRITE?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_CLOSE?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_LSEEK?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_OPENDIR?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_READDIR?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_STAT?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_TRUNCATE?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_GETFREE?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_UNLINK?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_MKDIR?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_CHMOD?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_UTIME?TFF
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_F_RENAME?TFF
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_OPEN?TFF
LENGTH: 002CH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_UNLINK?TFF
LENGTH: 0027H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_STAT?TFF
LENGTH: 0025H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_UTIME?TFF
LENGTH: 0024H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_CHMOD?TFF
LENGTH: 0023H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_READ?TFF
LENGTH: 001AH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_GETFREE?TFF
LENGTH: 001AH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_AUTO_MOUNT?TFF
LENGTH: 0019H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_WRITE?TFF
LENGTH: 0019H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_OPENDIR?TFF
LENGTH: 0016H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_TRACE_PATH?TFF
LENGTH: 0015H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_LSEEK?TFF
LENGTH: 0011H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_PUT_CLUSTER?TFF
LENGTH: 0010H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_RESERVE_DIRENTRY?TFF
LENGTH: 0010H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_GET_CLUSTER?TFF
LENGTH: 000DH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_CREATE_CHAIN?TFF
LENGTH: 000DH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_MOVE_WINDOW?TFF
LENGTH: 000CH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_SYNC?TFF
LENGTH: 000BH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_GET_FILEINFO?TFF
LENGTH: 000AH
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_DISK_READ?DISKIO
LENGTH: 0009H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_DISK_WRITE?DISKIO
LENGTH: 0009H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_READDIR?TFF
LENGTH: 0009H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_MAKE_DIRFILE?TFF
LENGTH: 0008H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_REMOVE_CHAIN?TFF
LENGTH: 0007H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_CHECK_FS?TFF
LENGTH: 0007H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_CLUST2SECT?TFF
LENGTH: 0005H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_NEXT_DIR_ENTRY?TFF
LENGTH: 0005H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_TRUNCATE?TFF
LENGTH: 0005H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?TFF
LENGTH: 0005H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_MOUNT?TFF
LENGTH: 0003H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_F_CLOSE?TFF
LENGTH: 0003H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_DISK_INITIALIZE?DISKIO
LENGTH: 0001H
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?_DISK_STATUS?DISKIO
LENGTH: 0001H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_DISK_WRITE?BYTE
SEGMENT: ?DT?_DISK_WRITE?DISKIO
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_DISK_READ?BYTE
SEGMENT: ?DT?_DISK_READ?DISKIO
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: GET_FATTIME
MODULE: tff.obj (TFF)
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_UTIME?BYTE
SEGMENT: ?DT?_F_UTIME?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_CHMOD?BYTE
SEGMENT: ?DT?_F_CHMOD?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_GETFREE?BYTE
SEGMENT: ?DT?_F_GETFREE?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_STAT?BYTE
SEGMENT: ?DT?_F_STAT?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_READDIR?BYTE
SEGMENT: ?DT?_F_READDIR?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_OPENDIR?BYTE
SEGMENT: ?DT?_F_OPENDIR?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_WRITE?BYTE
SEGMENT: ?DT?_F_WRITE?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_READ?BYTE
SEGMENT: ?DT?_F_READ?TFF
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_F_OPEN?BYTE
SEGMENT: ?DT?_F_OPEN?TFF
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3323H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3326H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3329H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 332CH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 332EH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33B8H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33BBH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33BEH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33C1H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33C3H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33E8H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33EAH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33ECH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33EEH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 33F0H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F78H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F7BH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F7EH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F81H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2F83H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EB5H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EB7H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EB9H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EBBH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 3EBDH
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: GET_FATTIME
MODULE: tff.obj (TFF)
ADDRESS: 1D70H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24E4H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24E7H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24EAH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24EDH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_READ?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 24F0H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19A6H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19A9H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19ACH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19AFH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 19B2H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: GET_FATTIME
MODULE: tff.obj (TFF)
ADDRESS: 2DD3H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2742H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2744H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2746H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 2748H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?_DISK_WRITE?BYTE
MODULE: tff.obj (TFF)
ADDRESS: 274AH
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: GET_FATTIME
MODULE: tff.obj (TFF)
ADDRESS: 2784H
*** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
MODULE: tff.obj (-----)
LIMIT: 0800H BYTES
Target not created
Sun May 10 2009, 01:14 pm
#34
Before we continue, there is one more important thing to recognize. Chan uses a type called DWORD. What he is referring to here is a double word, which is actually an unsigned long.

Keil uses the term "DWORD" to describe one of their built in macros for accessing a single word at a time from within internal memory.

The description is as follows:

DWORD
The DWORD macro accesses individual words in the internal data and idata memory of the 8051. You may use this macro in your programs as follows:

#include <absacc.h> /* Include Macro Definitions */
.
.
.
rval = DWORD [0x0002];
DWORD [0x0002] = 57;
.
.
.

This example reads and writes the contents of the word in internal data memory at address 0004h (2 × sizeof (unsigned int) = 4).

The range of valid index values for this macro is 0-127.

Note

The index used with this macro does not represent the memory address of the integer value. To obtain the memory address, you must multiply the index by the size of an integer (2 bytes).



so, we have to change every occurrence of DWORD to our own type for unsigned long. I have chosen ULONG for this type.

This replacement should be done next...

There are about 74 occurrences of DWORD throughout the project at this stage...


[ Edited Sun May 10 2009, 01:54 pm ]
Sun May 10 2009, 01:21 pm
#35
This project cannot be done using the evaluation version of the KEIL tools.

You must be able to compile large code. And according to your output, you are using the wrong memory model. You should be using the LARGE memory model, not the SMALL memory model...
Sun May 10 2009, 01:28 pm
#36
To set the memory model for the PROJECT, and not for an individual module, use this feature:



Sun May 10 2009, 01:52 pm
#37
At this stage, it appears you can go no further because you are using the evaluation version of the KEIL environment.

When you rectify this problem, we can continue from here if you'd like.

If there are others out there that are following this forum, feel free to ask questions, and I will try and continue this exercise.

The goal here is to take you from start to finish using the 8051 processor, and have you accessing the SD card as though it were a disk drive...

Best of luck on your project,
Mon May 11 2009, 02:20 am
#38
Well finally i got a full version from my university ...... it have token me all day but the wait worth it ... . So i made all you have sayed and i'm more a less at the same point as you! Whenever you want you can continue , thanks Dave i really apreciate it!! .

P.D. : I just have seen your message in the chat.. yes i'm from barcelona :-) .
Mon May 11 2009, 07:46 am
#39
Okay, to continue from this point:

1. Your project targets the 89C5131
2. You're using the LARGE memory model
3. You have the NOOVERLAY option active for the linker
4. You have the STARTUP.A51, main.c, tff.c, and diskio.c modules in your project.
5. You have changed all of the DWORD declarations to ULONG.
6. You have set all of the options in tff.h like I showed you.
7. You have set the options within the configuration settings for STARTUP.A51 as follows:
IDATALEN = 0x100
XDATASTART = 0X0000
XDATALEN = 0X500
NO REENTRANT STACKS ENABLED
NO CODE BANKING ENABLED

At this stage, your build output looks like this:

Build target 'Target 1'
assembling STARTUP.A51...
compiling MAIN.C...
compiling tff.c...
compiling diskio.c...
DISKIO.C(39): warning C173: missing return-expression
DISKIO.C(36): warning C280: 'drv': unreferenced local variable
DISKIO.C(48): warning C173: missing return-expression
DISKIO.C(45): warning C280: 'drv': unreferenced local variable
DISKIO.C(60): warning C173: missing return-expression
DISKIO.C(54): warning C280: 'drv': unreferenced local variable
DISKIO.C(55): warning C280: 'buff': unreferenced local variable
DISKIO.C(56): warning C280: 'sector': unreferenced local variable
DISKIO.C(57): warning C280: 'count': unreferenced local variable
DISKIO.C(73): warning C173: missing return-expression
DISKIO.C(67): warning C280: 'drv': unreferenced local variable
DISKIO.C(68): warning C280: 'buff': unreferenced local variable
DISKIO.C(69): warning C280: 'sector': unreferenced local variable
DISKIO.C(70): warning C280: 'count': unreferenced local variable
DISKIO.C(85): warning C173: missing return-expression
DISKIO.C(80): warning C280: 'drv': unreferenced local variable
DISKIO.C(81): warning C280: 'ctrl': unreferenced local variable
DISKIO.C(82): warning C280: 'buff': unreferenced local variable
DISKIO.C(39): warning C290: missing return value
DISKIO.C(48): warning C290: missing return value
DISKIO.C(60): warning C290: missing return value
DISKIO.C(73): warning C290: missing return value
DISKIO.C(85): warning C290: missing return value
linking...
Program Size: data=9.0 xdata=647 code=18687
"SDTEST" - 0 Error(s), 23 Warning(s).



Is this correct?
Mon May 11 2009, 08:11 am
#40
Before we can go any further with software, I must know what your hardware looks like.

What is your specific processor? (package, pins, voltage, etc...) How is the SD memory card connected to it? What port pin do you use for selecting the SPI device? What is the XTAL frequency? Do you have any external XDATA memory connected? Any external CODE memory?

Either show a schematic, or describe in detail what your hardware looks like.

Thanks

Get Social

Information

Powered by e107 Forum System

Downloads

Comments

Robertbix
Sat May 25 2024, 11:35 pm
cngCar
Fri May 24 2024, 03:50 pm
Jamesdesee
Fri May 24 2024, 02:48 pm
DavidFah
Thu May 23 2024, 06:09 pm
Briandog
Thu May 23 2024, 04:59 pm
RalphTyday
Thu May 23 2024, 03:49 pm
LouisTen
Thu May 23 2024, 01:44 pm
gelfine
Thu May 23 2024, 01:29 pm