flashdat.cpp
来自「WinCE 3.0 BSP, 包含Inter SA1110, Intel_815」· C++ 代码 · 共 206 行
CPP
206 行
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 1995, 1996, 1997 Microsoft Corporation
Module Name:
flash.cxx
Abstract:
This module implements flash programming service class functions
Author:
Jun Liu 5-Aug-1996
Revision History:
--*/
#include <windows.h>
#include "bootldr.h"
#include "flash.hpp"
/////////////////////////////////////////////////////////////////////
//
// Supported flash chip descritption table
//
//
// Chip description table
//
ADDRESS BlockEnd_28F008SA[16] =
{
0x0ffff,
0x1ffff,
0x2ffff,
0x3ffff,
0x4ffff,
0x5ffff,
0x6ffff,
0x7ffff,
0x8ffff,
0x9ffff,
0xaffff,
0xbffff,
0xcffff,
0xdffff,
0xeffff,
0xfffff
};
ADDRESS BlockEnd_28F016SV[32] =
{
0x0ffff,
0x1ffff,
0x2ffff,
0x3ffff,
0x4ffff,
0x5ffff,
0x6ffff,
0x7ffff,
0x8ffff,
0x9ffff,
0xaffff,
0xbffff,
0xcffff,
0xdffff,
0xeffff,
0xfffff,
0x10ffff,
0x11ffff,
0x12ffff,
0x13ffff,
0x14ffff,
0x15ffff,
0x16ffff,
0x17ffff,
0x18ffff,
0x19ffff,
0x1affff,
0x1bffff,
0x1cffff,
0x1dffff,
0x1effff,
0x1fffff
};
ADDRESS BlockEnd_28F0640J5[64] =
{
0x1ffff,
0x3ffff,
0x5ffff,
0x7ffff,
0x9ffff,
0xbffff,
0xdffff,
0xfffff,
0x11ffff,
0x13ffff,
0x15ffff,
0x17ffff,
0x19ffff,
0x1bffff,
0x1dffff,
0x1fffff,
0x21ffff,
0x23ffff,
0x25ffff,
0x27ffff,
0x29ffff,
0x2bffff,
0x2dffff,
0x2fffff,
0x31ffff,
0x33ffff,
0x35ffff,
0x37ffff,
0x39ffff,
0x3bffff,
0x3dffff,
0x3fffff,
0x41ffff,
0x43ffff,
0x45ffff,
0x47ffff,
0x49ffff,
0x4bffff,
0x4dffff,
0x4fffff,
0x51ffff,
0x53ffff,
0x55ffff,
0x57ffff,
0x59ffff,
0x5bffff,
0x5dffff,
0x5fffff,
0x61ffff,
0x63ffff,
0x65ffff,
0x67ffff,
0x69ffff,
0x6bffff,
0x6dffff,
0x6fffff,
0x71ffff,
0x73ffff,
0x75ffff,
0x77ffff,
0x79ffff,
0x7bffff,
0x7dffff,
0x7fffff
};
FLASH_DESCRIPTOR _fd[NUMBER_OF_SUPPORTED_DEVICE] =
{
//
// Intel 28F008SA (1 MBITx8)
//
{
0x89, // Manufacture code
0xa2, // Device code
16, // Number of blocks
1, // Interface width in bytes
0x100000, // Total size is 1M
BlockEnd_28F008SA // Block end address table
},
//
// Intel 28F016SV (1 MBITx16)
//
{
0x89, // Manufacture code
0xa0, // Device code
32, // Number of blocks
2, // Interface width in bytes
0x200000, // Total size is 2M
BlockEnd_28F016SV // Block end address table
},
//
// Intel 28F0640J5 (4 MBITx16)
//
{
0x89, // Manufacture code
0x15, // Device code
64, // Number of blocks
2, // Interface width in bytes
0x800000, // Total size is 8M
BlockEnd_28F0640J5 // Block end address table
}
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?