📄 eeprom_nm24c09_layout.h
字号:
#ifndef EEPROM_NM24C09_LAYOUT_H
#define EEPROM_NM24C09_LAYOUT_H
/************************************************************************
*
* EEPROM_NM24C09_LAYOUT.h
*
* The 'EEPROM_NM24C09_LAYOUT' module defines the variable layout
* of the NM24C09 eeprom.
*
*
*
* ######################################################################
*
* Copyright (c) 1999-2000 MIPS Technologies, Inc. All rights reserved.
*
* Unpublished rights reserved under the Copyright Laws of the United States of
* America.
*
* This document contains information that is proprietary to MIPS Technologies,
* Inc. ("MIPS Technologies"). Any copying, modifying or use of this information
* (in whole or in part) which is not expressly permitted in writing by MIPS
* Technologies or a contractually-authorized third party is strictly
* prohibited. At a minimum, this information is protected under unfair
* competition laws and the expression of the information contained herein is
* protected under federal copyright laws. Violations thereof may result in
* criminal penalties and fines.
* MIPS Technologies or any contractually-authorized third party reserves the
* right to change the information contained in this document to improve
* function, design or otherwise. MIPS Technologies does not assume any
* liability arising out of the application or use of this information. Any
* license under patent rights or any other intellectual property rights owned
* by MIPS Technologies or third parties shall be conveyed by MIPS Technologies
* or any contractually-authorized third party in a separate license agreement
* between the parties.
* The information contained in this document constitutes one or more of the
* following: commercial computer software, commercial computer software
* documentation or other commercial items. If the user of this information, or
* any related documentation of any kind, including related technical data or
* manuals, is an agency, department, or other entity of the United States
* government ("Government"), the use, duplication, reproduction, release,
* modification, disclosure, or transfer of this information, or any related
* documentation of any kind, is restricted in accordance with Federal
* Acquisition Regulation 12.212 for civilian agencies and Defense Federal
* Acquisition Regulation Supplement 227.7202 for military agencies. The use of
* this information by the Government is further restricted in accordance with
* the terms of the license agreement(s) and/or applicable contract terms and
* conditions covering this information from MIPS Technologies or any
* contractually-authorized third party.
*
************************************************************************/
/************************************************************************
* Include files
************************************************************************/
#include "sysdefs.h"
/************************************************************************
* Variable layout of the 1024 bytes NM24C09 EEPROM device
*************************************************************************/
/* The upper 512 bytes EEPROM memory is write protected */
#define EEPROM_COM_EN0_BASE 512
/* Layout of EEPROM */
typedef struct
{
/* Layout of eeprom depends on version field */
UINT8 version;
#define EEPROM_VERSION_1 1
/* Number of fields */
UINT8 count;
/* Fields may be placed in any order.
* Each field consists of the following :
*
* 1) A byte containing a unique ID.
* 2) A byte containing the number of bytes of data to follow.
* 3) An array of bytes (length given above) containing the actual
* data (MSB first).
*/
/* Mac address (Mandatory on platforms with Ethernet support)
* Format : Binary (6 bytes)
*/
UINT8 id_mac;
#define EEPROM_ID_MAC 1
UINT8 len_mac;
#define EEPROM_LEN_MAC 6
UINT8 mac_field[EEPROM_LEN_MAC];
/* Serial number (Mandatory on all platforms)
* Format : BCD (10 digits -> 5 bytes).
*/
UINT8 id_sn;
#define EEPROM_ID_SN 2
UINT8 len_sn;
#define EEPROM_LEN_SN 5
UINT8 sn_field[EEPROM_LEN_SN];
/* Checksum consists of a byte calculated as the modulo 256 sum of
* all used bytes of the eeprom from the version field up to, but
* not including, the csum field.
*/
UINT8 csum;
}
t_eeprom_layout;
#endif /* #ifndef EEPROM_NM24C09_LAYOUT_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -