NetBurner 3.5.6
PDF Version
AT49BV163D.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 Atmel AT49BV163D flash chip. This file is
29 * part of an example that allocates 512kB 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 "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 "AT49BV163"
59
63#define FS_FLASHBASE (0xFFC00000)
64
123#define BLOCKSIZE (64 * 1024) // Use only the 64k sectors
124#define SECTORSIZE (16 * 1024) // 4 sectors per block
125#define SECTORPERBLOCK (BLOCKSIZE / SECTORSIZE)
126
127/*
128 * Specify the total amount of flash memory in the system, and the amount
129 * allocated to be used by the file system (the rest is used by the
130 * application).
131 */
132#define FLASH_SIZE \
133 (2 * 1024 * 1024) // Size of total flash in the
134 // system, 2MB
135#define FS_SIZE \
136 (512 * 1024) // Amount allocated to file
137 // system, 512kB
138#define FIRST_ADDR \
139 (FLASH_SIZE - FS_SIZE) // First file system address to
140 // use in the flash
141#define BLOCKSTART \
142 (2) // First block where file system
143 // data starts (first 2
144 // blocks are DESCRIPTORS)
145
146/*
147 * Descriptor Blocks:
148 * These blocks contain critical information about the file system, block
149 * allocation, wear information, and file/directory information. At least two
150 * descriptor blocks must be included in the system, which can be erased
151 * independently. An optional descriptor write cache may be configured which
152 * improves the performance of the file system. Please refer to the EFFS-STD
153 * implementation guide for additional information.
154 */
155#define DESCSIZE (8 * 1024) // Size of one descriptor
156#define DESCBLOCKSTART (0) // Position of first descriptor
157#define DESCBLOCKEND (1) // Position of last descriptor
158#define DESCCACHE (2048)
159
160#endif /* _ONCHIPFLASH_H_ */