NetBurner 3.5.6
PDF Version
S29GL032.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 Spansion S29GL032A 4MByte flash chip. This file is
29 * part of an example that allocates 1MB of flash space to the file system,
30 * and the 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 ( 1024 * 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 "file/fsf.h"
50#include "basictypes.h"
51#include "hal.h"
52
53#define FLASH_NAME "S29GL032A"
54
55extern int fs_phy_OnChipFlash(FS_FLASH *flash);
56
57/* Start of flash memory base address */
58#define FS_FLASHBASE (0xFF800000)
59
115#define BLOCKSIZE (64 * 1024) // Use only the 64k sectors
116#define SECTORSIZE (16 * 1024) // 4 sectors per block
117#define SECTORPERBLOCK (BLOCKSIZE / SECTORSIZE)
118
119/*
120 * Specify the total amount of flash memory in the system, and the amount
121 * allocated to be used by the file system (the rest is used by the
122 * application).
123 */
124#define FLASH_SIZE (4 * 1024 * 1024) // Size of total flash in the system, 4MB
125#define FS_SIZE (1024 * 1024) // Amount allocated to file system, 1MB
126#define FIRST_ADDR (FLASH_SIZE - FS_SIZE) // First file system address to use in the flash
127#define BLOCKSTART (2) // First block where file system data starts (first 2 blocks are DESCRIPTORS)
128
129/*
130 * Descriptor Blocks:
131 * These blocks contain critical information about the file system, block
132 * allocation, wear information, and file/directory information. At least two
133 * descriptor blocks must be included in the system, which can be erased
134 * independently. An optional descriptor write cache may be configured which
135 * improves the performance of the file system. Please refer to the EFFS-STD
136 * implementation guide for additional information.
137 */
138#define DESCSIZE (8 * 1024) // Size of one descriptor
139#define DESCBLOCKSTART (0) // Position of first descriptor
140#define DESCBLOCKEND (1) // Position of last descriptor
141#define DESCCACHE (2048)
142
143#endif /* _ONCHIPFLASH_H_ */
Embedded Flash File System, EFFS-STD.
NetBurner Hardware Abstraction Layer (HAL)