📄 amd_flash_b.h
字号:
/************************************************************************/
/* File: amd_flash_b.h File containing the structures and prototypes */
/* for the AMD_FLASH_B */
/* */
/* Design Reference: Doc. Name Version */
/* --------------------------- ------- */
/* AMD_FLASH_B Level 1 Service 1.0 */
/* Functional Design Specification */
/* */
/* (C) Copyright Motorola Inc, 1999. All rights reserved. */
/* */
/* $RCSfile: amd_flash_b.h,v $ */
/* $Revision: 1.2 $ */
/* $Date: 2000/06/23 19:35:17 $ */
/* $Author: jeffk $ */
/* */
/************************************************************************/
#ifndef _AMD_FLASH_B_H
#define _AMD_FLASH_B_H
#include "mcore.h"
/*----------------------------------------------------------------------*/
/* AMD_FLASH_B Register Definitions */
/*----------------------------------------------------------------------*/
typedef UINT32 AMD_FLASH_B_t, *pAMD_FLASH_B_t;
/*----------------------------------------------------------------------*/
/* Enumerations */
/*----------------------------------------------------------------------*/
/* AMD FLASH Mode Selection */
typedef enum
{
AMD_FLASH_B_ALL, /* entire chip */
AMD_FLASH_B_SA0, /* sector SA0 */
AMD_FLASH_B_SA1, /* sector SA1 */
AMD_FLASH_B_SA2, /* sector SA2 */
AMD_FLASH_B_SA3, /* sector SA3 */
AMD_FLASH_B_SA4, /* sector SA4 */
AMD_FLASH_B_SA5, /* sector SA5 */
AMD_FLASH_B_SA6, /* sector SA6 */
AMD_FLASH_B_SA7, /* sector SA7 */
AMD_FLASH_B_SA8, /* sector SA8 */
AMD_FLASH_B_SA9, /* sector SA9 */
AMD_FLASH_B_SA10, /* sector SA10 */
AMD_FLASH_B_SA11, /* sector SA11 */
AMD_FLASH_B_SA12, /* sector SA12 */
AMD_FLASH_B_SA13, /* sector SA13 */
AMD_FLASH_B_SA14, /* sector SA14 */
AMD_FLASH_B_SA15, /* sector SA15 */
AMD_FLASH_B_SA16, /* sector SA16 */
AMD_FLASH_B_SA17, /* sector SA17 */
AMD_FLASH_B_SA18 /* sector SA18 */
} AMD_FLASH_B_SECTOR_t;
/* AMD FLASH Return Codes */
typedef enum {
AMD_FLASH_B_ERR_NONE = 0x0L, /* No error (force long) */
AMD_FLASH_B_ERR_INVALID_HANDLE, /* Device handle is NULL */
AMD_FLASH_B_ERR_INVALID_SECTOR, /* Sector given is invalid */
AMD_FLASH_B_ERR_BAD_RESULT_ADDR /* Result address is NULL */
} AMD_FLASH_B_ReturnCode_t;
/* AMD FLASH Booleans */
typedef enum
{
AMD_FLASH_B_FALSE,
AMD_FLASH_B_TRUE
} AMD_FLASH_B_Boolean_t;
/*----------------------------------------------------------------------*/
/* Structures */
/*----------------------------------------------------------------------*/
/*----------------------------------------------------------------------*/
/* Command Sequence Address offsets */
/*----------------------------------------------------------------------*/
#define AMD_FLASH_B_COMMAND_ADDRESS_1 0x2AA /* AMD FLASH 0x2AA offset */
#define AMD_FLASH_B_COMMAND_ADDRESS_2 0x555 /* AMD FLASH 0x555 offset */
#define AMD_FLASH_B_COMMAND_ADDRESS_3 0xAAA /* AMD FLASH 0xAAA offset */
/*----------------------------------------------------------------------*/
/* Starting address offsets for the sectors */
/*----------------------------------------------------------------------*/
/* for Am29LV800BB chip bottom boot block sector */
#define AMD_FLASH_B_SA0_BOTTOM_BOOT 0x00000
#define AMD_FLASH_B_SA1_BOTTOM_BOOT 0x02000
#define AMD_FLASH_B_SA2_BOTTOM_BOOT 0x03000
#define AMD_FLASH_B_SA3_BOTTOM_BOOT 0x04000
#define AMD_FLASH_B_SA4_BOTTOM_BOOT 0x08000
#define AMD_FLASH_B_SA5_BOTTOM_BOOT 0x10000
#define AMD_FLASH_B_SA6_BOTTOM_BOOT 0x18000
#define AMD_FLASH_B_SA7_BOTTOM_BOOT 0x20000
#define AMD_FLASH_B_SA8_BOTTOM_BOOT 0x28000
#define AMD_FLASH_B_SA9_BOTTOM_BOOT 0x30000
#define AMD_FLASH_B_SA10_BOTTOM_BOOT 0x38000
#define AMD_FLASH_B_SA11_BOTTOM_BOOT 0x40000
#define AMD_FLASH_B_SA12_BOTTOM_BOOT 0x48000
#define AMD_FLASH_B_SA13_BOTTOM_BOOT 0x50000
#define AMD_FLASH_B_SA14_BOTTOM_BOOT 0x58000
#define AMD_FLASH_B_SA15_BOTTOM_BOOT 0x60000
#define AMD_FLASH_B_SA16_BOTTOM_BOOT 0x68000
#define AMD_FLASH_B_SA17_BOTTOM_BOOT 0x70000
#define AMD_FLASH_B_SA18_BOTTOM_BOOT 0x78000
/* for Am29LV800BT chip Top Boot Block sector */
#define AMD_FLASH_B_SA0_TOP_BOOT 0x00000
#define AMD_FLASH_B_SA1_TOP_BOOT 0x08000
#define AMD_FLASH_B_SA2_TOP_BOOT 0x10000
#define AMD_FLASH_B_SA3_TOP_BOOT 0x18000
#define AMD_FLASH_B_SA4_TOP_BOOT 0x20000
#define AMD_FLASH_B_SA5_TOP_BOOT 0x28000
#define AMD_FLASH_B_SA6_TOP_BOOT 0x30000
#define AMD_FLASH_B_SA7_TOP_BOOT 0x38000
#define AMD_FLASH_B_SA8_TOP_BOOT 0x40000
#define AMD_FLASH_B_SA9_TOP_BOOT 0x48000
#define AMD_FLASH_B_SA10_TOP_BOOT 0x50000
#define AMD_FLASH_B_SA11_TOP_BOOT 0x58000
#define AMD_FLASH_B_SA12_TOP_BOOT 0x60000
#define AMD_FLASH_B_SA13_TOP_BOOT 0x68000
#define AMD_FLASH_B_SA14_TOP_BOOT 0x70000
#define AMD_FLASH_B_SA15_TOP_BOOT 0x78000
#define AMD_FLASH_B_SA16_TOP_BOOT 0x7C000
#define AMD_FLASH_B_SA17_TOP_BOOT 0x7D000
#define AMD_FLASH_B_SA18_TOP_BOOT 0x7E000
/*----------------------------------------------------------------------*/
/* AMD_FLASH_B Miscellaneous Defines */
/*----------------------------------------------------------------------*/
#define TOP_BOOT_BLOCK_WORD 0x22DA22DA
#define BOTTOM_BOOT_BLOCK_WORD 0x225B225B
#define ERASED_WORD 0xFFFFFFFF
#define SECTOR_PROTECT_ON_WORD 0x00010001
#define AMD_MANUFACTURER_ID_WORD 0x00010001
/* Hard coded AMD Flash commands */
#define AMD_FLASH_B_COMMAND_00 0x00000000
#define AMD_FLASH_B_COMMAND_10 0x10101010
#define AMD_FLASH_B_COMMAND_20 0x20202020
#define AMD_FLASH_B_COMMAND_30 0x30303030
#define AMD_FLASH_B_COMMAND_55 0x55555555
#define AMD_FLASH_B_COMMAND_80 0x80808080
#define AMD_FLASH_B_COMMAND_90 0x90909090
#define AMD_FLASH_B_COMMAND_A0 0xA0A0A0A0
#define AMD_FLASH_B_COMMAND_AA 0xAAAAAAAA
#define AMD_FLASH_B_COMMAND_B0 0xB0B0B0B0
#define AMD_FLASH_B_COMMAND_F0 0xF0F0F0F0
/*----------------------------------------------------------------------*/
/* Prototypes */
/*----------------------------------------------------------------------*/
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_Erase_f( pAMD_FLASH_B_t AMD_FLASHPtr,
AMD_FLASH_B_SECTOR_t Sector
);
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_SuspendErase_f(
pAMD_FLASH_B_t AMD_FLASHPtr
);
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_ResumeErase_f(
pAMD_FLASH_B_t AMD_FLASHPtr
);
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_Program_f( pAMD_FLASH_B_t AMD_FLASHPtr,
UINT32 *TargetPtr,
UINT32 Word
);
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_ControlUnlockBypass_f(
pAMD_FLASH_B_t AMD_FLASHPtr,
AMD_FLASH_B_Boolean_t EnableBypass
);
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_ProgramUnlockBypass_f(
pAMD_FLASH_B_t AMD_FLASHPtr,
UINT32 *TargetPtr,
UINT32 Word
);
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_GetManufacturerID_f(
pAMD_FLASH_B_t AMD_FLASHPtr,
UINT32 *ResultPtr
);
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_GetDeviceID_f(
pAMD_FLASH_B_t AMD_FLASHPtr,
UINT32 *ResultPtr
);
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_VerifySectorProtect_f(
pAMD_FLASH_B_t AMD_FLASHPtr,
AMD_FLASH_B_SECTOR_t Sector,
AMD_FLASH_B_Boolean_t *ResultPtr
);
AMD_FLASH_B_ReturnCode_t AMD_FLASH_B_BlankCheck_f(
pAMD_FLASH_B_t AMD_FLASHPtr,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -