NetBurner 3.0
SSH/SshServerUserKey/SST39VF040.h
1 /* Revision: 2.8.7 */
2 
3 /******************************************************************************
4 * Copyright 1998-2018 NetBurner, Inc. ALL RIGHTS RESERVED
5 *
6 * Permission is hereby granted to purchasers of NetBurner Hardware to use or
7 * modify this computer program for any use as long as the resultant program
8 * is only executed on NetBurner provided hardware.
9 *
10 * No other rights to use this program or its derivatives in part or in
11 * whole are granted.
12 *
13 * It may be possible to license this or other NetBurner software for use on
14 * non-NetBurner Hardware. Contact sales@Netburner.com for more information.
15 *
16 * NetBurner makes no representation or warranties with respect to the
17 * performance of this computer program, and specifically disclaims any
18 * responsibility for any damages, special or consequential, connected with
19 * the use of this program.
20 *
21 * NetBurner
22 * 5405 Morehouse Dr.
23 * San Diego, CA 92121
24 * www.netburner.com
25 ******************************************************************************/
26 
27 
28 /*------------------------------------------------------------------------------
29  * EFFS-STD configuration file for SST ST39VF040 flash chip. This file is part
30  * of an example that allocates 512kB of flash space to the file system, and the
31  * rest to the application.
32  *
33  * To modify the amount of space allocated to the file system:
34  *
35  * 1. Change the definition in this file: #define FS_SIZE ( 1024 * 1024 )
36  * 2. Change the compcode memory address range for the application in your
37  * NBEclipse project settings so that the end of the application space does
38  * not exceed the start of the file system space. See the EFFS Programmer's
39  * Guide for details, and the header comments in main.cpp of this example
40  * on how to make the changes in the NBEclipse project.
41  * 3. Be sure to add the \Nburn\lib\StdFFile.a library to your NBEclipse project
42  * C/C++ build linker library options. See the header comments in main.cpp
43  * for this example on how to add the library in the NBEclipse project.
44  *----------------------------------------------------------------------------*/
45 
46 #ifndef _ONCHIPFLASH_H_
47 #define _ONCHIPFLASH_H_
48 
49 #include <file/fsf.h>
50 
51 
55 extern int fs_phy_OnChipFlash( FS_FLASH *flash );
56 
57 
58 #define FLASH_NAME "SST39VF040"
59 
60 
64 #define FS_FLASHBASE ( 0xFFC00000 )
65 
66 
128 #define BLOCKSIZE ( 4 * 1024 ) // Use only the 64k sectors
129 #define SECTORSIZE ( 512 ) // 8 sectors per block
130 #define SECTORPERBLOCK ( BLOCKSIZE / SECTORSIZE )
131 
132 
133 /*
134  * Specify the total amount of flash memory in the system, and the amount
135  * allocated to be used by the file system (the rest is used by the
136  * application).
137  */
138 #define FLASH_SIZE ( 512 * 1024 ) // Size of total flash in the
139  // system, 512kB
140 #define FS_SIZE ( 64 * 1024 ) // Amount allocated to file
141  // system, 64kB
142 #define FIRST_ADDR ( FLASH_SIZE - FS_SIZE ) // First file system address to
143  // use in the flash
144 #define BLOCKSTART ( 2 ) // First block where file system
145  // data starts (first 2
146  // blocks are DESCRIPTORS)
147 
148 
149 /*
150  * Descriptor Blocks:
151  * These blocks contain critical information about the file system, block
152  * allocation, wear information, and file/directory information. At least two
153  * descriptor blocks must be included in the system, which can be erased
154  * independently. An optional descriptor write cache may be configured which
155  * improves the performance of the file system. Please refer to the EFFS-STD
156  * implementation guide for additional information.
157  */
158 #define DESCSIZE ( 4 * 1024 ) // Size of one descriptor
159 #define DESCBLOCKSTART ( 0 ) // Position of first descriptor
160 #define DESCBLOCKEND ( 1 ) // Position of last descriptor
161 #define DESCCACHE ( 1024 )
162 
163 
164 #endif /* _ONCHIPFLASH_H_ */
Embedded Flash File System API - STD.