NetBurner 3.5.6
PDF Version
SST39VF040.h
1/* Revision: 3.3.8 */
2
3/******************************************************************************
4* Copyright 1998-2022 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 [email protected] 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* 16855 W Bernardo Dr
23* San Diego, CA 92127
24* www.netburner.com
25******************************************************************************/
26
27/*------------------------------------------------------------------------------
28 * EFFS-STD configuration file for SST39V040 flash memory chip. This file is part
29 * of an example that allocates 64KB of flash space to the file system, and the
30 * rest to the application.
31 *
32 * To modify the amount of space allocated to the file system:
33 *
34 * 1. Change the definition in this file: #define FS_SIZE ( 64 * 1024 )
35 * 2. Change the compcode memory address range for the application in your
36 * NBEclipse project settings so that the end of the application space does
37 * not exceed the start of the file system space. See the EFFS Programmer's
38 * Guide for details, and the header comments in main.cpp of this example
39 * on how to make the changes in the NBEclipse project.
40 * 3. Be sure to add the /nburn/platform/<platform>/original/lib/libStdFFile.a library
41 * to your NBEclipse project C/C++ build linker library options. See the header
42 * comments in main.cpp for this example on how to add the library in the
43 * NBEclipse project.
44 *----------------------------------------------------------------------------*/
45
46#ifndef _ONCHIPFLASH_H_
47#define _ONCHIPFLASH_H_
48
49#include "basictypes.h"
50#include "hal.h"
51#include "file/fsf.h"
52
56extern int fs_phy_OnChipFlash(FS_FLASH *flash);
57
58#define FLASH_NAME "SST39VF040"
59
63#define FS_FLASHBASE (0xFFC00000)
64
121#define BLOCKSIZE (4 * 1024) // Use only the 64k sectors
122#define SECTORSIZE (512) // 8 sectors per block
123#define SECTORPERBLOCK (BLOCKSIZE / SECTORSIZE)
124
125/*
126 * Specify the total amount of flash memory in the system, and the amount
127 * allocated to be used by the file system (the rest is used by the
128 * application).
129 */
130#define FLASH_SIZE \
131 (512 * 1024) // Size of total flash in the
132 // system, 512kB
133#define FS_SIZE \
134 (64 * 1024) // Amount allocated to file
135 // system, 64kB
136#define FIRST_ADDR \
137 (FLASH_SIZE - FS_SIZE) // First file system address to
138 // use in the flash
139#define BLOCKSTART \
140 (2) // First block where file system
141 // data starts (first 2
142 // blocks are DESCRIPTORS)
143
144/*
145 * Descriptor Blocks:
146 * These blocks contain critical information about the file system, block
147 * allocation, wear information, and file/directory information. At least two
148 * descriptor blocks must be included in the system, which can be erased
149 * independently. An optional descriptor write cache may be configured which
150 * improves the performance of the file system. Please refer to the EFFS-STD
151 * implementation guide for additional information.
152 */
153#define DESCSIZE (4 * 1024) // Size of one descriptor
154#define DESCBLOCKSTART (0) // Position of first descriptor
155#define DESCBLOCKEND (1) // Position of last descriptor
156#define DESCCACHE (1024)
157
158#endif /* _ONCHIPFLASH_H_ */
Embedded Flash File System, EFFS-STD.
NetBurner Hardware Abstraction Layer (HAL)