Author Topic: Dependency problem  (Read 8251 times)

Offline m_mikula

  • Newbie
  • *
  • Posts: 14
    • View Profile
Dependency problem
« on: February 25, 2009, 07:46:35 AM »
Hi Mark,

I'm trying to use only PARAMETER_BLOCK without FLASH_FILE_SYSTEM:
Code: [Select]
#define USE_PARAMETER_BLOCK
#define USE_PAR_SWAP_BLOCK
//#define SPI_FILE_SYSTEM
//#define FLASH_FILE_SYSTEM
//#define NVRAM
//#define INTERNAL_USER_FILES

But the result is compilation problem (missing some defines like FILE_SYSTEM_SIZE) is this behaviour correct? Why parameter block is depending on file system?

---
Martin

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
Re: Dependency problem
« Reply #1 on: February 25, 2009, 11:55:08 AM »
Hi Martin

I did think that this was possible, although not very common.

First of all it is necessary to known that without the uFileSystem (either SPI_FILE_SYSTEM, FLASH_FILE_SYSTEM or NVRAM) it is not possible to use HTTP or FTP - these require the uFileSystem in order to be able to operate.

If FTP and HTTP are also removed I think that it is possible with the following modifications:

1) in config.h change the ACTIVE_FILE_SYSTEM dependency from USE_PARAMETER_BLOCK to NVRAM so that it looks like the following:

#if defined (SPI_FILE_SYSTEM) || defined (FLASH_FILE_SYSTEM) || defined (NVRAM)
    #define ACTIVE_FILE_SYSTEM
#endif


2) In M5223X.c change (around line 3520) from

#if defined ACTIVE_FILE_SYSTEM && defined _WINDOWS
    extern int iFetchingInternalMemory = 0;                              // {30}
#endif


to

#if (defined ACTIVE_FILE_SYSTEM  || defined USE_PARAMETER_BLOCK) && defined _WINDOWS
    extern int iFetchingInternalMemory = 0;                              // {30}
#endif


3) Also in M5223X.c in fnGetParsFile() at about line 3530 change

#ifdef ACTIVE_FILE_SYSTEM

to

#if defined ACTIVE_FILE_SYSTEM || defined USE_PARAMETER_BLOCK


This then builds and it looks as though it does work.

The other restriction like this is that the parameter system can only be in internal FLASH (where is usually is anyway) and can not be in external SPI FLASH.

Regards

Mark