📄 nvram.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 + -