📄 m_flash.h
字号:
/**************************************************************************/
/* FILE NAME: m_flash.h COPYRIGHT (c) MOTOROLA 2002 */
/* VERSION: 1.4 All Rights Reserved */
/* */
//* DESCRIPTION: */
/* This file defines all of the registers and bit fields on the FLASH */
/* modules and declares an instance of the FLASH structure. */
/*========================================================================*/
/* AUTHOR: Jeff Loeliger */
/* COMPILER: Diab Data VERSION: 4.3f */
/* */
/* UPDATE HISTORY */
/* REV AUTHOR DATE DESCRIPTION OF CHANGE */
/* --- ----------- --------- --------------------- */
/* 0.1 J. Loeliger 06/Apr/98 Initial version of file. */
/* 0.2 20/Dec/98 Broke header file into modules. */
/* 1.0 J. Loeliger 12/Jan/99 Added three ways to create an instance */
/* of the module and added PACK. */
/* 1.1 J. Loeliger 22/Jun/99 Added ifdef to support C++ */
/* K. Muto Added PAWS field to CMFTST */
/* 1.2 J. Loeliger 07/Jul/99 Added new bits NVR and GDB to CMFTST. */
/* These were added to MPC555 rev K1. */
/* 1.3 J. Kobler 11/Jun/01 Added support for CodeWarrior Embedded */
/* PowerPc 5.0. */
/* 1.4 J. Loeliger 16/Apr/02 Created generic version for all MPC5xx.*/
/* Merged flash and uc3f. */
/**************************************************************************/
#ifndef _M_FLASH_H
#define _M_FLASH_H
#ifndef _M_COMMON_H
#include "m_common.h"
#endif /* ifndef _M_COMMON_H */
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __MWERKS__
#pragma pack(push,1)
#endif
#ifdef _CMF_FLASH
/****************************************************************************/
/* MODULE : CMF */
/****************************************************************************/
struct CMF_tag {
union {
VUINT32 R;
struct {
VUINT32 LOCK:1;
VUINT32:2;
VUINT32 FIC:1;
VUINT32 SIE:1;
VUINT32 ACCESS:1;
VUINT32 CENSOR:2;
VUINT32 SUPV:8;
VUINT32 DATA:8;
VUINT32 PROTECT:8;
} B;
} CMFMCR;
union {
VUINT32 R;
struct {
VUINT32:20;
VUINT32 NVR:1;
VUINT32 PAWS:3;
VUINT32:2;
VUINT32 GDB:1;
VUINT32:5;
} B;
} CMFTST;
union {
VUINT32 R;
struct {
VUINT32 HVS:1;
VUINT32:1;
VUINT32 SCLKR:3;
VUINT32:1;
VUINT32 CLKPE:2;
VUINT32:1;
VUINT32 CLKPM:7;
VUINT32 BLOCK:8;
VUINT32:1;
VUINT32 CSC:1;
VUINT32 EPEE:1;
VUINT32:2;
VUINT32 PE:1;
VUINT32 SES:1;
VUINT32 EHV:1;
} B;
} CMFCTL;
};
#else
#ifdef _UC3F_FLASH
/****************************************************************************/
/* MODULE : UC3F */
/****************************************************************************/
struct UC3F_tag { /*UC3F EEPROM Configuration Register */
union {
VUINT32 R;
struct {
VUINT32 STOP:1;
VUINT32 LOCK:1;
VUINT32 BPB:1;
VUINT32 FIC:1;
VUINT32 SIE:1;
VUINT32 ACCESS:1;
VUINT32 CENSOR:2;
VUINT32 SUPV:8;
VUINT32 DATA:8;
VUINT32 PROTECT:8;
} B;
} UC3FMCR;
union { /*UC3F EEPROM Extended Configuration Register */
VUINT32 R;
struct {
VUINT32 SBEN:2;
VUINT32 SBSUPV:2;
VUINT32 SBDATA:2;
VUINT32 SBPROTECT:2;
VUINT32 WAIT:2;
VUINT32 BIU:6;
VUINT32 MEMSIZ:3;
VUINT32 BLK:1;
VUINT32 MAP:1;
VUINT32 SBLKL:2;
VUINT32 FLASHID:9;
} B;
} UC3FMCRE;
union { /*UC3F EEPROM High Voltage Control Register */
VUINT32 R;
struct {
VUINT32 HVS:1;
VUINT32 PEGOOD:1;
VUINT32 PEFI:1;
VUINT32 EPEE:1;
VUINT32 BOEM:1;
VUINT32:9;
VUINT32 SBBLOCK:2;
VUINT32 BLOCK:8;
VUINT32:1;
VUINT32 CSC:1;
VUINT32:2;
VUINT32 HSUS:1;
VUINT32 PE:1;
VUINT32 SES:1;
VUINT32 EHV:1;
} B;
} UC3FCTL;
};
#endif /*UC3F_FLASH*/
#endif /*CMF*/
#ifdef __MWERKS__
#pragma pack(push,1)
#endif
#ifdef __cplusplus
}
#endif
#endif
/* ifndef _M_FLASH_H */
/*****************************************************************************/
/* Motorola reserves the right to make changes without further notice to any */
/* product herein to improve reliability, function, or design. Motorola does */
/* not assume any liability arising out of the application or use of any */
/* product, circuit, or software described herein; neither does it convey */
/* any license under its patent rights nor the rights of others. Motorola */
/* products are not designed, intended, or authorized for use as components */
/* in systems intended for surgical implant into the body, or other */
/* applications intended to support life, or for any other application in */
/* which the failure of the Motorola product could create a situation where */
/* personal injury or death may occur. Should Buyer purchase or use Motorola */
/* products for any such intended or unauthorized application, Buyer shall */
/* indemnify and hold Motorola and its officers, employees, subsidiaries, */
/* affiliates, and distributors harmless against all claims costs, damages, */
/* and expenses, and reasonable attorney fees arising out of, directly or */
/* indirectly, any claim of personal injury or death associated with such */
/* unintended or unauthorized use, even if such claim alleges that Motorola */
/* was negligent regarding the design or manufacture of the part. Motorola */
/* and the Motorola logo* are registered trademarks of Motorola Ltd. */
/*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -