📄 m_sram.h
字号:
/**************************************************************************/
/* FILE NAME: m_sram.h COPYRIGHT (c) MOTOROLA 2002 */
/* VERSION: 1.3 All Rights Reserved */
/* */
//* DESCRIPTION: */
/* This file defines all of the registers and bit fields on the SRAM */
/* modules and declares an instance of the SRAM structure. */
/*========================================================================*/
/* AUTHOR: Jeff Loeliger */
/* COMPILER: Diab Data VERSION: 4.3f */
/* */
/* 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++ */
/* 1.2 J. Kobler 11/Jun/01 Added support for CodeWarrior Embedded */
/* PowerPc 5.0. */
/* 1.3 J. Loeliger 16/Apr/02 Created generic version for all MPC5xx.*/
/* Merged flash and uc3f. */
/**************************************************************************/
#ifndef _M_SRAM_H
#define _M_SRAM_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
#ifndef _CALRAM
/****************************************************************************/
/* MODULE :SRAM */
/****************************************************************************/
struct SRAM_tag {
union {
VUINT32 R;
struct {
VUINT32 LCK:1;
VUINT32 DIS:1;
VUINT32 CY2:1;
VUINT32:17;
VUINT32 R0:1;
VUINT32 D0:1;
VUINT32 S0:1;
VUINT32 R1:1;
VUINT32 D1:1;
VUINT32 S1:1;
VUINT32 R2:1;
VUINT32 D2:1;
VUINT32 S2:1;
VUINT32 R3:1;
VUINT32 D3:1;
VUINT32 S3:1;
} B;
} SRAMMCR;
union {
VUINT32 R;
VUINT32 B;
} SRAMTST;
};
#else
/****************************************************************************/
/* MODULE :CALRAM */
/****************************************************************************/
struct CALRAM_tag {
union {
VUINT32 R;
struct {
VUINT32 LCK:1;
VUINT32 DIS:1;
VUINT32 CY2:1;
VUINT32:17;
VUINT32 R0:1;
VUINT32 D0:1;
VUINT32 S0:1;
VUINT32 R1:1;
VUINT32 D1:1;
VUINT32 S1:1;
VUINT32 R2:1;
VUINT32 D2:1;
VUINT32 S2:1;
VUINT32 R3:1;
VUINT32 D3:1;
VUINT32 S3:1;
} B;
} CRAMMCR;
union {
VUINT32 R;
struct {
VUINT32 RB:1;
VUINT32 SOF:1;
VUINT32 CLR:1;
VUINT32 FALG:1;
VUINT32 BDONE:1;
VUINT32 PASS:1;
VUINT32 UP:1;
VUINT32 INV:1;
VUINT32 BGND:3;
VUINT32 RDCL:1;
VUINT32:16;
VUINT32 ACTE:1;
VUINT32 OCTI:1;
VUINT32 OCTS:1;
VUINT32 SDTE:1;
} B;
} CRAMTST;
union {
VUINT32 R;
struct {
VUINT32 RGN_SIZE:4;
VUINT32:7;
VUINT32 RBA:19;
VUINT32:2;
} B;
} CRAM_RBA0;
union {
VUINT32 R;
struct {
VUINT32 RGN_SIZE:4;
VUINT32:7;
VUINT32 RBA:19;
VUINT32:2;
} B;
} CRAM_RBA1;
union {
VUINT32 R;
struct {
VUINT32 RGN_SIZE:4;
VUINT32:7;
VUINT32 RBA:19;
VUINT32:2;
} B;
} CRAM_RBA2;
union {
VUINT32 R;
struct {
VUINT32 RGN_SIZE:4;
VUINT32:7;
VUINT32 RBA:19;
VUINT32:2;
} B;
} CRAM_RBA3;
union {
VUINT32 R;
struct {
VUINT32 RGN_SIZE:4;
VUINT32:7;
VUINT32 RBA:19;
VUINT32:2;
} B;
} CRAM_RBA4;
union {
VUINT32 R;
struct {
VUINT32 RGN_SIZE:4;
VUINT32:7;
VUINT32 RBA:19;
VUINT32:2;
} B;
} CRAM_RBA5;
union {
VUINT32 R;
struct {
VUINT32 RGN_SIZE:4;
VUINT32:7;
VUINT32 RBA:19;
VUINT32:2;
} B;
} CRAM_RBA6;
union {
VUINT32 R;
struct {
VUINT32 RGN_SIZE:4;
VUINT32:7;
VUINT32 RBA:19;
VUINT32:2;
} B;
} CRAM_RBA7;
union {
VUINT32 R;
struct {
VUINT32 OVL:1;
VUINT32 DERR:1;
VUINT32 CLPS:1;
VUINT32:29;
} B;
} CRAMOVLCR;
union {
VUINT32 R;
VUINT32 B;
} CRAMOTR;
};
#endif
#ifdef __MWERKS__
#pragma pack(pop)
#endif
#ifdef __cplusplus
}
#endif
#endif /* ifndef _M_SRAM_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 + -