Skip to content
Snippets Groups Projects
Commit 41249e17 authored by Damien George's avatar Damien George
Browse files

stmhal, fatfs: Use stdlib for string fns; make all private fns static.

We save some code bytes by using builtin string functions.
parent 3a2795e2
No related branches found
No related tags found
No related merge requests found
......@@ -540,15 +540,15 @@ const BYTE ExCvt[] = _EXCVT; /* Upper conversion table for extended characters *
Module Private Functions
---------------------------------------------------------------------------*/
DWORD clust2sect (FATFS* fs, DWORD clst);
DWORD get_fat (FATFS* fs, DWORD clst);
static DWORD clust2sect (FATFS* fs, DWORD clst);
static DWORD get_fat (FATFS* fs, DWORD clst);
#if !_FS_READONLY
FRESULT put_fat (FATFS* fs, DWORD clst, DWORD val);
static FRESULT put_fat (FATFS* fs, DWORD clst, DWORD val);
#endif /* !_FS_READONLY */
#if _USE_LFN
void gen_numname (BYTE* dst, const BYTE* src, const WCHAR* lfn, WORD seq);
static void gen_numname (BYTE* dst, const BYTE* src, const WCHAR* lfn, WORD seq);
#endif /* !_USE_LFN */
/*-----------------------------------------------------------------------*/
......@@ -556,6 +556,11 @@ void gen_numname (BYTE* dst, const BYTE* src, const WCHAR* lfn, WORD seq);
/*-----------------------------------------------------------------------*/
/* Copy memory to memory */
#if 1
// We use the original custom version of mem_cpy so that gcc doesn't
// recognise the builtin function and then inline it. Allowing gcc
// to use the builtin memcpy increases code size by 64 bytes.
// TODO need a better (less ad-hoc) way to control this.
static
void mem_cpy (void* dst, const void* src, UINT cnt) {
BYTE *d = (BYTE*)dst;
......@@ -571,8 +576,13 @@ void mem_cpy (void* dst, const void* src, UINT cnt) {
while (cnt--)
*d++ = *s++;
}
#else
// use stdlib
#define mem_cpy memcpy
#endif
/* Fill memory */
#if 0
static
void mem_set (void* dst, int val, UINT cnt) {
BYTE *d = (BYTE*)dst;
......@@ -580,8 +590,13 @@ void mem_set (void* dst, int val, UINT cnt) {
while (cnt--)
*d++ = (BYTE)val;
}
#else
// use stdlib
#define mem_set memset
#endif
/* Compare memory to memory */
#if 0
static
int mem_cmp (const void* dst, const void* src, UINT cnt) {
const BYTE *d = (const BYTE *)dst, *s = (const BYTE *)src;
......@@ -590,6 +605,10 @@ int mem_cmp (const void* dst, const void* src, UINT cnt) {
while (cnt-- && (r = *d++ - *s++) == 0) ;
return r;
}
#else
// use stdlib
#define mem_cmp memcmp
#endif
/* Check if chr is contained in the string */
static
......@@ -842,6 +861,7 @@ FRESULT sync_fs ( /* FR_OK: successful, FR_DISK_ERR: failed */
/*-----------------------------------------------------------------------*/
static
DWORD clust2sect ( /* !=0: Sector number, 0: Failed - invalid cluster# */
FATFS* fs, /* File system object */
DWORD clst /* Cluster# to be converted */
......@@ -860,6 +880,7 @@ DWORD clust2sect ( /* !=0: Sector number, 0: Failed - invalid cluster# */
/*-----------------------------------------------------------------------*/
static
DWORD get_fat ( /* 0xFFFFFFFF:Disk error, 1:Internal error, Else:Cluster status */
FATFS* fs, /* File system object */
DWORD clst /* Cluster# to get the link information */
......@@ -903,6 +924,7 @@ DWORD get_fat ( /* 0xFFFFFFFF:Disk error, 1:Internal error, Else:Cluster status
/*-----------------------------------------------------------------------*/
#if !_FS_READONLY
static
FRESULT put_fat (
FATFS* fs, /* File system object */
DWORD clst, /* Cluster# to be changed in range of 2 to fs->n_fatent - 1 */
......@@ -1401,6 +1423,7 @@ void fit_lfn (
/* Create numbered name */
/*-----------------------------------------------------------------------*/
#if _USE_LFN
static
void gen_numname (
BYTE* dst, /* Pointer to generated SFN */
const BYTE* src, /* Pointer to source SFN to be modified */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment