Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

FreeRTOS_FTP_server.c does not compile if ffconfigTIME_SUPPORT is 0

Posted by rasty1 on August 3, 2016

Hi, What do I miss? Thanks Rasty

./FreeRTOS-Plus-TCP/protocols/FTP/FreeRTOSFTPserver.c: In function 'prvSizeDateFile': ../FreeRTOS-Plus-TCP/protocols/FTP/FreeRTOSFTPserver.c:2322:27: error: 'FFStatt' has no member named 'stmtime' timet secs = xStatBuf.st_mtime;

In function prvSizeDateFile if( xSendDate != pdFALSE ) { FFTimeStructt tmStruct; timet secs = xStatBuf.stmtime; <<------ no st_mtime


FreeRTOS_FTP_server.c does not compile if ffconfigTIME_SUPPORT is 0

Posted by heinbali01 on August 3, 2016

The "MDTM" command is quite essential to FTP. It needs support for time & date in +FAT. So unless you have a good reason not to use it, I would enable it in your FreeRTOSFATConfig.h:

#define ffconfigTIME_SUPPORT      1

and also include the source file "ff_time.c".

Regards


FreeRTOS_FTP_server.c does not compile if ffconfigTIME_SUPPORT is 0

Posted by rasty1 on August 3, 2016

I have several reasons why I try to remove it 1. I do not have RTC 2. I was trying to optimize footprint 2. I had the impresion that some "time" stuff drawn in from glibc. But I'm not sure.


FreeRTOS_FTP_server.c does not compile if ffconfigTIME_SUPPORT is 0

Posted by heinbali01 on August 4, 2016

I do not have RTC

But you dohave NTP :-) What I often do is synchronise with NTP and use FreeRTOS to maintain the real time.

I was trying to optimize footprint

I'm not sure if it saves a lot of code. Have you calculated that?

I had the impression that some "time" stuff drawn in from glibc. But I'm not sure.

Not that I'm aware off. Several time-functions have been rewritten in order make it independent from the libraries provided by the compiler.

Now if you insist on not using time-support, I (or you) could make a change, remove the MDTM line from:

~~~~ static const char pcFeatAnswer[] = "211-Features:x0a"

if( ffconfigTIME_SUPPORT != 0 )
    "MDTM\x0a"
endif
    " REST STREAM\x0a"
    " SIZE\x0d\x0a"
    "211 End\x0d\x0a";

~~~~

and also:

~~~~ #if ffconfigTIMESUPPORT == 0 { xLength = snprintf( pcCOMMANDBUFFER, sizeof( pcCOMMAND_BUFFER ), "213 19700101000000rn"); } #else { // return the time } #endif ~~~~

Regards.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS