📄 embobootarg.h
字号:
/*************************************************
Copyright (C), 2002-2005, Embedded-Tech. Co., Ltd.
File name: bootarg.h
Author: Peica Chen
Version: 5.0
Date: 2005-09-19
Description: 在微软维护的BOOT_ARGS中加入了研博的部份数据,以形成DOS与WinCE之间共享数据的一个接口
Others: 此头文件依赖于loadcepc.h或windows.h来指定其基本数据类型.
History:
*************************************************/
#ifndef _EMBOBOOTARG_H_
#define _EMBOBOOTARG_H_
#ifdef _DOS
#include "embohaldos.h"
#else
#include <halether.h>
#endif
// Contains a pointer to the actual boot args structure
#define BOOT_ARG_PTR_LOCATION 0x801FFFFC
#define BOOT_ARG_VERSION_SIG 0x12345678
#define BOOT_ARG_MAJOR_VER 1
#define BOOT_ARG_MINOR_VER 0
#define MAX_DEV_NAMELEN 16 // Should match EDBG_MAX_DEV_NAMELEN.
// NAND controller boot flags
#define NAND_PCI_PRESENT (1 << 0)
typedef struct _BOOT_ARGS{
unsigned char ucVideoMode;
unsigned char ucComPort;
unsigned char ucBaudDivisor;
unsigned char ucPCIConfigType;
// The following args are not set by older versions of loadcepc,
// so include a sig to verify that the remaining params are valid.
// Also, include a length to allow expansion in the future.
unsigned long dwSig;
#define BOOTARG_SIG 0x544F4F42 // "BOOT"
unsigned long dwLen; // Total length of boot args struct
unsigned char ucLoaderFlags; // Flags set by loader
unsigned char ucEshellFlags; // Flags from eshell
unsigned char ucEdbgAdapterType; // Type of debug Ether adapter
unsigned char ucEdbgIRQ; // IRQ line to use for debug Ether adapter
unsigned long dwEdbgBaseAddr; // Base I/O address for debug Ether adapter
unsigned long dwEdbgDebugZone; // Allow EDBG debug zones to be turned on from loadcepc
// The following is only valid if LDRFL_ADDR_VALID is set
EDBG_ADDR EdbgAddr; // IP/ether addr to use for debug Ethernet
// The following addresses are only valid if LDRFL_JUMPIMG is set, and corresponding bit in
// ucEshellFlags is set (configured by eshell, bit definitions in ethdbg.h).
EDBG_ADDR EshellHostAddr; // IP/ether addr and UDP port of host running eshell
EDBG_ADDR DbgHostAddr; // IP/ether addr and UDP port of host receiving dbg msgs
EDBG_ADDR CeshHostAddr; // IP/ether addr and UDP port of host running ether text shell
EDBG_ADDR KdbgHostAddr; // IP/ether addr and UDP port of host running kernel debugger
unsigned long DHCPLeaseTime; // Length of DHCP IP lease in seconds
unsigned short EdbgFlags; // Information about the ethernet system
unsigned short KitlTransport; // Transport for Kitl communication
unsigned long dwEBootFlag; // Eboot flags indicating whether EBoot supports warm reset (older version may not)
unsigned long dwEBootAddr; // Eboot entry point set by eboot and used during warm reset
unsigned long dwLaunchAddr; // Old image launch address saved by EBoot when it receives jmpimage
// The following args added to support passing info to flat framebuffer display driver
unsigned long pvFlatFrameBuffer; // pointer to flat frame buffer
unsigned short vesaMode; // VESA mode being used
unsigned short cxDisplayScreen; // displayable X size
unsigned short cyDisplayScreen; // displayable Y size
unsigned short cxPhysicalScreen; // physical X size
unsigned short cyPhysicalScreen; // physical Y size
unsigned short cbScanLineLength; // scan line byte count
unsigned short bppScreen; // color depth
unsigned char RedMaskSize; // size of red color mask
unsigned char RedMaskPosition; // position for red color mask
unsigned char GreenMaskSize; // size of green color mask
unsigned char GreenMaskPosition; // position for green color mask
unsigned char BlueMaskSize; // size of blue color mask
unsigned char BlueMaskPosition; // position for blue color mask
// Version information for bootargs structure.
unsigned long dwVersionSig;
unsigned short MajorVersion;
unsigned short MinorVersion;
// Version 1.0 additions
unsigned char szDeviceNameRoot[MAX_DEV_NAMELEN]; // EDBG device name root.
/*5 members below is declared by Embo Corp.*/
/*以下五个变量为Embo公司定义*/
unsigned char cCheckCompany[8]; /*公司标记*/
unsigned long dwReadMemStartAddr; /*Embo保留内存区域的起始地址*/
unsigned long dwReadMemEndAddr; /*Embo保留内存区域的结束地址*/
unsigned long dwEmboRegOffset; /*注册表数据相对于dwReservedStartAddr的偏移*/
unsigned long dwEmboInfOffset; /*EmboBaseInfo相对于dwReservedStartAddr的偏移*/
/*...*/
unsigned long dwImgStoreAddr; // Flash storage address.
unsigned long dwImgLoadAddr; // RAM load address.
unsigned long dwImgLength; // Image length.
unsigned char NANDBootFlags; // Boot flags related to NAND support.
unsigned char NANDBusNumber; // NAND controller PCI bus number.
unsigned long NANDSlotNumber;// NAND controller PCI slot number.
} BOOT_ARGS,*PBOOT_ARGS;
// Defs for loader flags
#define LDRFL_USE_EDBG 0x0001 // Set to attempt to use debug Ethernet
// The following two flags are only looked at if LDRFL_USE_EDBG is set
#define LDRFL_ADDR_VALID 0x0002 // Set if EdbgAddr field is valid
#define LDRFL_JUMPIMG 0x0004 // If set, don't communicate with eshell to get
// The following flag is only used for backup FLASH operation
#define LDRFL_FLASH_BACKUP 0x80
// configuration, use ucEshellFlags field.
// Use this constant in EdbgIRQ to specify that EDBG should run without an interrupt.
#define EDBG_IRQ_NONE 0xFF
#endif // _EMBOBOOTARG_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -