241 lines
8.7 KiB
C
241 lines
8.7 KiB
C
/*
|
|
* $Log: V:/Flite/archives/TrueFFS5/Src/flchkdef.h_V $
|
|
*
|
|
* Rev 1.12 Apr 15 2002 07:36:30 oris
|
|
* Moved binary module definitions from mtdsa.h.
|
|
* Changed automatic definition of missing compilation flags to error massages.
|
|
*
|
|
* Rev 1.11 Feb 19 2002 20:59:36 oris
|
|
* Added check for TL_LEAVE_BINARY_AREA and FL_LEAVE_BINARY_AREA compatibility.
|
|
*
|
|
* Rev 1.10 Jan 29 2002 20:08:18 oris
|
|
* Changed LOW_LEVEL compilation flag with FL_LOW_LEVEL to prevent definition clashes.
|
|
*
|
|
* Rev 1.9 Jan 23 2002 23:31:26 oris
|
|
* Added prevention of multiple include directives.
|
|
*
|
|
* Rev 1.8 Jan 17 2002 23:00:56 oris
|
|
* Changed TrueFFSVersion to "5100"
|
|
* Made sure FL_FAR_MALLOC exists
|
|
* Made sure MTD_RECONSTRUCT_BBT is defined if FORMAT_VOLUME is defined.
|
|
* Made sure QUICK_MOUNT_FEATURE is defined
|
|
*
|
|
* Rev 1.7 Nov 20 2001 20:25:08 oris
|
|
* Changed TrueFFS version to "5040". This version is written by the format routine on the media header.
|
|
*
|
|
* Rev 1.6 Jul 15 2001 20:44:56 oris
|
|
* Changed default DFORMAT_PRINT from nothing to DEBUG_PRINT in order to remove warrnings.
|
|
*
|
|
* Rev 1.5 Jul 13 2001 01:04:20 oris
|
|
* Added definition check for DFORMAT_PRINT,FL_FOPEN , FL_FCLOSE, FL_FPRINTF macros.
|
|
*
|
|
* Rev 1.4 May 16 2001 21:18:14 oris
|
|
* Added backwards compatibility check for FL_MALLOC the new definition replacing MALLOC.
|
|
*
|
|
* Rev 1.3 Apr 01 2001 07:52:06 oris
|
|
* copywrite notice.
|
|
* Alligned left all # directives.
|
|
*
|
|
* Rev 1.2 Feb 13 2001 02:19:44 oris
|
|
* Added TrueFFSVersion (internal version label) define.
|
|
*
|
|
* Rev 1.1 Feb 07 2001 18:55:44 oris
|
|
* Added check if LOW_LEVEL is not defined before defining it in Validity check for LOW_LEVEL
|
|
*
|
|
* Rev 1.0 Feb 05 2001 18:41:14 oris
|
|
* Initial revision.
|
|
*
|
|
*/
|
|
|
|
/***********************************************************************************/
|
|
/* M-Systems Confidential */
|
|
/* Copyright (C) M-Systems Flash Disk Pioneers Ltd. 1995-2001 */
|
|
/* All Rights Reserved */
|
|
/***********************************************************************************/
|
|
/* NOTICE OF M-SYSTEMS OEM */
|
|
/* SOFTWARE LICENSE AGREEMENT */
|
|
/* */
|
|
/* THE USE OF THIS SOFTWARE IS GOVERNED BY A SEPARATE LICENSE */
|
|
/* AGREEMENT BETWEEN THE OEM AND M-SYSTEMS. REFER TO THAT AGREEMENT */
|
|
/* FOR THE SPECIFIC TERMS AND CONDITIONS OF USE, */
|
|
/* OR CONTACT M-SYSTEMS FOR LICENSE ASSISTANCE: */
|
|
/* E-MAIL = info@m-sys.com */
|
|
/***********************************************************************************/
|
|
|
|
/************************/
|
|
/* TrueFFS source files */
|
|
/* -------------------- */
|
|
/************************/
|
|
|
|
/*****************************************************************************
|
|
* File Header *
|
|
* ----------- *
|
|
* Name : flchkdef.h *
|
|
* *
|
|
* Description : Sanity check for flcustom.h files. *
|
|
* *
|
|
*****************************************************************************/
|
|
|
|
#ifndef _FL_CHK_DEFS_H_
|
|
#define _FL_CHK_DEFS_H_
|
|
|
|
|
|
/* Osak version
|
|
*
|
|
* Number written on the flash by INFTL format specifing the OSAK version
|
|
* The media was formated with. the number bellow specifies version
|
|
* 5.1.0.0
|
|
*/
|
|
|
|
#define TrueFFSVersion "5100" /* Internal TrueFFS version number */
|
|
|
|
/*******************************************/
|
|
/* Validity check and overlapping defines */
|
|
/*******************************************/
|
|
|
|
/* The TL uses a diffrent defintion from the one the public interface uses
|
|
* but when format parameters are sent to the TL no convertion is made.
|
|
* the result is that both definitions must be the same.
|
|
*/
|
|
|
|
#if (defined(TL_LEAVE_BINARY_AREA) && defined(FL_LEAVE_BINARY_AREA))
|
|
#if TL_LEAVE_BINARY_AREA != FL_LEAVE_BINARY_AREA
|
|
#error "FL_LEAVE_BINARY_AREA and FL_LEAVE_BINARY_AREA must have the same value"
|
|
#endif
|
|
#endif /* TL_LEAVE_BINARY_AREA && FL_LEAVE_BINARY_AREA */
|
|
|
|
/* Validiy check for FL_LOW_LEVEL compilation flag.
|
|
*
|
|
* Starting from TrueFFS 5.1 the LOW_LEVEL was changed to FL_LOW_LEVEL
|
|
* The reason was that it clashed with Windows NT LOW_LEVEL macro.
|
|
*/
|
|
|
|
#ifndef FL_LOW_LEVEL
|
|
#ifdef LOW_LEVEL
|
|
#define FL_LOW_LEVEL
|
|
#endif /* LOW_LEVEL */
|
|
#endif /* FL_LOW_LEVEL */
|
|
|
|
|
|
/* Validiy check for FL_MALLOC and FL_FREE macroes
|
|
*
|
|
* Starting from TrueFFS 5.0 the FREE and MALLOC macroes were
|
|
* changed to FL_MALLOC and FL_FREE in order to avoid name clashes.
|
|
* In order to keep backwards compatibility with previous flsystem.h
|
|
* files the following new defintions checks were added.
|
|
* if your system uses the FREE and MALLOC defintion simply comment
|
|
* them out and customized the FL_MALLOC and FL_FREE macroes in your
|
|
* flsystem.h file.
|
|
*/
|
|
|
|
#if (defined(MALLOC) && !defined(FL_MALLOC))
|
|
#define FL_MALLOC MALLOC
|
|
#endif /* MALLOC && ! FL_MALLOC */
|
|
#if (defined(FREE) && !defined(FL_FREE))
|
|
#define FL_FREE FREE
|
|
#endif /* FREE && ! FL_FREE */
|
|
|
|
/* Validity check for FL_FAR_MALLOC and FL_FAR_FREE
|
|
* Due to the BIOS driver memory limitations a dedicated routine
|
|
* is used for allocating the large ram arrays.
|
|
*/
|
|
|
|
#if (defined(FL_MALLOC) && !defined(FL_FAR_MALLOC))
|
|
#define FL_FAR_MALLOC FL_MALLOC
|
|
#endif /* FL_MALLOC && ! FL_FAR_MALLOC */
|
|
|
|
#if (defined(FL_FREE) && !defined(FL_FAR_FREE))
|
|
#define FL_FAR_FREE FL_FREE
|
|
#endif /* FL_MALLOC && ! FL_FAR_MALLOC */
|
|
|
|
/* Validity check for BDK_ACCESS */
|
|
|
|
#if (defined (WRITE_EXB_IMAGE) && !defined (BDK_ACCESS))
|
|
#error "Please make sure BDK_ACCESS is defined in your flcustom.h file\r\n"
|
|
#endif
|
|
|
|
/* The format option needs some internal defintions */
|
|
|
|
#ifdef FORMAT_VOLUME
|
|
#ifndef MTD_RECONSTRUCT_BBT
|
|
#define MTD_RECONSTRUCT_BBT /* Compile code to scan virgin cards for BBT */
|
|
#endif /* MTD_RECONSTRUCT_BBT */
|
|
#endif /* FORMAT_VOLUME */
|
|
|
|
|
|
/*
|
|
* Make sure TrueFFS has all the neccesary definition for the
|
|
* Binary partition module.
|
|
*/
|
|
|
|
#ifdef BDK_ACCESS
|
|
#define ACCESS_BDK_IMAGE /* Compile the Binary read routines */
|
|
#ifndef FL_READ_ONLY
|
|
#define UPDATE_BDK_IMAGE /* Compile the Binary write routines */
|
|
#define ERASE_BDK_IMAGE /* Compile the Binary erase routine */
|
|
#define CREATE_BDK_IMAGE /* Compile the Binary create routine */
|
|
#endif /* FL_READ_ONLY */
|
|
#ifdef HW_PROTECTION
|
|
#define PROTECT_BDK_IMAGE /* Compile the Binary protection routines */
|
|
#endif /* HW_PROTECTION */
|
|
#endif /* BDK_ACCESS */
|
|
|
|
/* Validity check for system files MACROES */
|
|
#ifndef DFORMAT_PRINT
|
|
#define DFORMAT_PRINT DEBUG_PRINT
|
|
#endif /* DFORMAT_PRINT */
|
|
#ifndef FL_FOPEN
|
|
#define FL_FOPEN
|
|
#endif /* FL_FOPEN */
|
|
#ifndef FL_FCLOSE
|
|
#define FL_FCLOSE
|
|
#endif /* FL_FCLOSE */
|
|
#ifndef FL_FPRINTF
|
|
#define FL_FPRINTF
|
|
#endif /* FL_FPRINTF */
|
|
|
|
/* Validity check of DRIVES , VOLUMES and SOCKETS parameters.
|
|
* Note that DRIVES definition was left for abckwards compatibility
|
|
*/
|
|
|
|
#if (defined(DRIVES) && (defined(SOCKETS) || defined(VOLUMES)))
|
|
#error "Drives is permited only as long as SOCKETS and VOLUMES are not defined"
|
|
#else
|
|
#ifdef DRIVES
|
|
#define SOCKETS DRIVES
|
|
#define VOLUMES DRIVES
|
|
#else
|
|
#if (!defined(VOLUMES) && !defined(SOCKETS))
|
|
#error "Neither DRIVER, VOLUMES and SOCKETS are defined"
|
|
#else
|
|
#if (!defined(VOLUMES) && defined(SOCKETS))
|
|
#define VOLUMES SOCKETS /* both VOLUMES and SOCKETS must be defined */
|
|
#else
|
|
#if !defined(SOCKETS) && defined(VOLUMES)
|
|
#define SOCKETS VOLUMES /* both VOLUMES and SOCKETS must be defined */
|
|
#else
|
|
#if (SOCKETS>VOLUMES)
|
|
#error "SOCKETS should not be bigger then VOLUMES"
|
|
#endif /* SOCKETS > VOLUMES */
|
|
#endif /* ! SOCKETS && VOLUMES */
|
|
#endif /* SOCKETS && ! VOLUMES */
|
|
#endif /* ! SOCKETS && ! VOLUMES */
|
|
#endif /* DRIVES */
|
|
#endif /* DRIVES && (SOCKETS || VOLUMES) */
|
|
|
|
/*****************************/
|
|
/* M-Systems forced defaults */
|
|
/*****************************/
|
|
|
|
/* Since TrueFFS 5.1 Quick mount is a default for all INFTL formated devices */
|
|
|
|
#define QUICK_MOUNT_FEATURE
|
|
|
|
/* Some S/W modules like boot SDK do not need the read bad blocks tables routine.
|
|
* However for TrueFFS these defintion is vital
|
|
*/
|
|
#define MTD_READ_BBT /* Compile the read BBT routine code */
|
|
|
|
#endif /* _FL_CHK_DEFS_H_ */
|
|
|