📄 args.h
字号:
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//------------------------------------------------------------------------------
//
// Copyright (C) 2004-2006, Freescale Semiconductor, Inc. All Rights Reserved.
// THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
// AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
//
//------------------------------------------------------------------------------
//
// File: args.h
//
// This file defines the shared argument structure used by the bootloader and
// the OS image.
//
//------------------------------------------------------------------------------
#ifndef __ARGS_H__
#define __ARGS_H__
//------------------------------------------------------------------------------
// Defines
//
// Query for KITL flags
#define BSP_ARGS_QUERY_KITL_FLAGS BSP_ARGS_QUERY
#define CONFIG_SIGNATURE 0x12345678
#define CONFIG_VERSION_MAJOR 0x0001
#define CONFIG_VERSION_MINOR 0x0000
#define CONFIG_AUTOBOOT_DEVICE_NOR 0
#define CONFIG_AUTOBOOT_DEVICE_NAND 1
#define CONFIG_FLAGS_AUTOBOOT (1 << 0)
#define CONFIG_FLAGS_DHCP (1 << 1)
#define CONFIG_FLAGS_SAVETOFLASH (1 << 2)
#define CONFIG_DEFAULT_IPADDR "0.0.0.0"
#define CONFIG_DEFAULT_SUBNET_MASK "0.0.0.0"
#define BSP_ARGS_DEFAULT_MAC_BYTE0 0x00
#define BSP_ARGS_DEFAULT_MAC_BYTE1 0x04
#define BSP_ARGS_DEFAULT_MAC_BYTE2 0x9f
#define BSP_ARGS_DEFAULT_MAC_BYTE3 0x00
#define BSP_ARGS_DEFAULT_MAC_BYTE4 0x31
#define BSP_ARGS_DEFAULT_MAC_BYTE5 0x00
#define BSP_ARGS_VERSION 1
//------------------------------------------------------------------------------
// Types
//
// Bootloader configuration parameters (stored in NAND or EEPROM).
// BOOT_CFG structure defines layout of persistent device
// information. It is used to control boot process. BSP_ARGS structure defines
// information passed from boot loader to kernel HAL/OAL. Each structure has
// version field which should be updated each time when structure layout
// change.
typedef struct
{
ULONG Signature; // Config signature (used to validate).
USHORT VerMajor; // Config major version.
USHORT VerMinor; // Config minor version.
ULONG ConfigFlags; // General bootloader flags.
ULONG IPAddr; // Device static IP address.
ULONG SubnetMask; // Device subnet mask.
BYTE BootDevice; // AUTOBOOT device.
BYTE KitlTransport; // KITL transport select.
USHORT MACAddr[3]; // Crystal CS8900A MAC address.
ULONG LaunchAddress; // Kernel region launch address.
} BOOT_CFG, *PBOOT_CFG;
// EMMA driver globals
#define EMMA_PRP_USING_FLAG 0x00000001
#define EMMA_PP_USING_FLAG 0x00010000
typedef struct {
UINT32 usingStatus; // High 16 bits for PP, low 16 bits for PrP
} BSP_EMMA_GLOBALS, *PBSP_EMMA_GLOBALS;
typedef struct {
OAL_ARGS_HEADER header;
UINT8 deviceId[16]; // Device identification
OAL_KITL_ARGS kitl;
UINT32 clockFreq[DDK_CLOCK_SIGNAL_ENUM_END];
BSP_EMMA_GLOBALS emma;
BOOL updateMode;
} BSP_ARGS, *PBSP_ARGS;
//------------------------------------------------------------------------------
// Functions
void OALResetBootCFG(BOOT_CFG *pBootCfg);
BOOL OALReadBootCFG(BOOT_CFG *EBootCFG);
BOOL OALWriteBootCFG(BOOT_CFG *EBootCFG);
BOOL OALBspArgsInit();
#endif // __ARGS_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -