armintboot.h

来自「WinCE 3.0 BSP, 包含Inter SA1110, Intel_815」· C头文件 代码 · 共 101 行

H
101
字号
/* -*-C-*-
 *
 * $Revision: 1.2 $
 *   $Author: kwelton $
 *     $Date: 2000/03/17 01:19:38 $
 *
 * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
 * ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
 * PARTICULAR PURPOSE.
 *
 * Copyright (c) 1995-1998  Microsoft Corporation
 * Copyroght (c) 2000 ARM Limited
 * All Rights Reserved
 */

#ifndef integrator_harpboot_h
#define integrator_harpboot_h

#include <halether.h>
#include <ceddk.h>

void OEMEthLaunchImage(void);

UINT16 OEMEthDown(char *pszFileName, TFtpdCallBackOps Operation,
                  BYTE *pbData, UINT16 *cwLength,
                  char **ppszErrorMsg);

//
// Bootloader parameters passed to the image.
//

#define BOOTARG_SIG  0x544F4F42 // "BOOT"

typedef struct _HARP_BOOT_ARGS
{
    DWORD   dwSig;
    DWORD   dwLen;              // Total length of boot args struct
    UCHAR   ucLoaderFlags;      // Flags set by loader
    UCHAR   ucEshellFlags;      // Flags from eshell
    UCHAR   ucEdbgAdapterType;  // Type of debug Ether adapter
    UCHAR   ucEdbgIRQ;          // IRQ line to use for debug Ether adapter
    DWORD   dwEdbgBaseAddr;     // Base I/O address for debug Ether adapter
    DWORD   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

    DWORD DHCPLeaseTime;        // Seconds till DHCP IP lease expires
    DWORD EdbgFlags;            // Information about ethernet system
} HARP_BOOT_ARGS, *PHARP_BOOT_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 configuration, use
                                     // ucEshellFlags field.

//
// Use this constant in EdbgIRQ to specify that EDBG should run without
// an interrupt.
//
#define EDBG_IRQ_NONE  0xFF

/**********************************************************************/

typedef struct _ETH_HARDWARE_INIT_ARGS
{
    WORD wMAC[3];
    HARP_BOOT_ARGS *pBootArgs;
    char szPlatformString[EDBG_MAX_DEV_NAMELEN];
    UCHAR ucCpuId;
} ETH_HARDWARE_INIT_ARGS, *PETH_HARDWARE_INIT_ARGS;

BOOL OEMEthHardwareInit(ETH_HARDWARE_INIT_ARGS *pInitArgs, EDBG_ADDR *pMyAddr);

#endif /* ndef integrator_harpboot_h */

/* EOF harpboot.h */

⌨️ 快捷键说明

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