⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nvram.h

📁 vt6528芯片交换机API函数和文档运行程序
💻 H
字号:
/*
 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
 * All rights reserved.
 *
 * This software is copyrighted by and is the sole property of
 * VIA Networking Technologies, Inc. This software may only be used
 * in accordance with the corresponding license agreement. Any unauthorized
 * use, duplication, transmission, distribution, or disclosure of this
 * software is expressly forbidden.
 *
 * This software is provided by VIA Networking Technologies, Inc. "as is"
 * and any express or implied warranties, including, but not limited to, the
 * implied warranties of merchantability and fitness for a particular purpose
 * are disclaimed. In no event shall VIA Networking Technologies, Inc.
 * be liable for any direct, indirect, incidental, special, exemplary, or
 * consequential damages.
 *
 *
 * File:    nvram.h
 *
 * Purpose: Non-Volatile RAM hardware accessing functions (virtual layer)
 *          physical layer could be EEPROM or Flash ROM
 *
 * Author:  Tevin Chen
 *
 * Date:    Jan 08, 2002
 *
 */


#ifndef __NVRAM_H__
#define __NVRAM_H__

#if !defined(__TTYPE_H__)
#include "ttype.h"
#endif
#if !defined(__STRTYPE_H__)
#include "strtype.h"
#endif
#if !defined(__DEVICE_H__)
#include "device.h"
#endif
#if !defined(__FLASH_H__)
#include "flash.h"
#endif




/*---------------------  Export Definitions  ------------------------*/
// Non-Volatile RAM starting address
#define NVR_ADDR_BASE               (ASIC_ROM_BASE_ADDR + 0x00010000)   // data section begin addr on NVRAM

//
// Definition of Non-Volatile RAM address (loader data area)
//

// begin of loader data area
#define NVR_ADDR_MAIN_ROM_BASE      NVR_ADDR_BASE                       // 4 bytes for image rom base address
#define NVR_ADDR_MAIN_ROM_SIZE      (NVR_ADDR_MAIN_ROM_BASE + 4)        // 4 bytes for image rom size
#define NVR_ADDR_MAIN_RUN_BASE      (NVR_ADDR_MAIN_ROM_SIZE + 4)        // 4 bytes for image run at ram base address
#define NVR_ADDR_DATA_AREA_SIZE     (NVR_ADDR_MAIN_RUN_BASE + 4)        // 4 bytes for data area size
#define NVR_ADDR_UART_RATE_MODE     (NVR_ADDR_DATA_AREA_SIZE + 4)       // 1 byte for UART baudrate mode
#define NVR_ADDR_NET_TYPE           (NVR_ADDR_UART_RATE_MODE + 1)       // 1 byte for Net type
#define NVR_ADDR_DELAY_TIME         (NVR_ADDR_NET_TYPE + 1)             // 1 byte for boot loader delay time
#define NVR_ADDR_RESERVED0          (NVR_ADDR_DELAY_TIME + 1)           // 5 bytes reserved

#define NVR_ADDR_NETIF_CONF_0       NVR_ADDR_MAC_ADDR
#define NVR_ADDR_MAC_ADDR           (NVR_ADDR_RESERVED0 + 5)            // 6 bytes for mac address
#define NVR_ADDR_DHCP_ENABLE        (NVR_ADDR_MAC_ADDR + 6)             // 1 byte for boot loader delay time
#define NVR_ADDR_RESERVED1          (NVR_ADDR_DHCP_ENABLE + 1)          // 1 bytes reserved
#define NVR_ADDR_IPCONF             (NVR_ADDR_RESERVED1 + 1)            // 12 bytes for ip, mask, gateway
#define NVR_ADDR_NETIF_CONF_1       (NVR_ADDR_IPCONF + NVR_SIZE_IPCONF) // 20 bytes for mac, dhcp, ip, mask, gateway
#define NVR_ADDR_NETIF_CONF_2       (NVR_ADDR_NETIF_CONF_1 + 20)        // 20 bytes for mac, dhcp, ip, mask, gateway
#define NVR_ADDR_NETIF_CONF_3       (NVR_ADDR_NETIF_CONF_2 + 20)        // 20 bytes for mac, dhcp, ip, mask, gateway
#define NVR_ADDR_NETIF_CONF_4       (NVR_ADDR_NETIF_CONF_3 + 20)        // 20 bytes for mac, dhcp, ip, mask, gateway
#define NVR_ADDR_NETIF_CONF_5       (NVR_ADDR_NETIF_CONF_4 + 20)        // 20 bytes for mac, dhcp, ip, mask, gateway

#define NVR_ADDR_FWUPDT             (NVR_ADDR_NETIF_CONF_5 + 20)        // 4 + 128 bytes for server ip, filename
#define NVR_ADDR_KNL_COMMAND        (NVR_ADDR_FWUPDT + NVR_SIZE_FWUPDT) // 748 bytes for kernel command

// end of loader data area
#define NVR_ADDR_LD_END             (NVR_ADDR_KNL_COMMAND + NVR_SIZE_KNL_COMMAND - 1)


// definition of size
#define NVR_SIZE_KNL_COMMAND        748
#define NVR_SIZE_IPCONF             (4 * 3)
#define NVR_SIZE_FWUPDT             (4 + MAX_FILENAME_LEN)

/*---------------------  Export Types  ------------------------------*/

/*---------------------  Export Macros  -----------------------------*/

/*---------------------  Export Classes  ----------------------------*/

/*---------------------  Export Variables  --------------------------*/

/*---------------------  Export Functions  --------------------------*/
#define NVRAM_bReadU8           FLSH_bReadU8
#define NVRAM_bReadU16          FLSH_bReadU16
#define NVRAM_bReadU32          FLSH_bReadU32
#define NVRAM_bWriteU8          FLSH_bWriteU8
#define NVRAM_bWriteU16         FLSH_bWriteU16
#define NVRAM_bWriteU32         FLSH_bWriteU32
#define NVRAM_bReadBlock        FLSH_bReadBlock
#define NVRAM_bWriteBlock       FLSH_bWriteBlock
#define NVRAM_bUpdateChksum     FLSH_bUpdateChksum




#endif /* __NVRAM_H__ */


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -