### bcm963xx CFE命令说明
#### 引言
本应用笔记旨在详细介绍bcm963xx系列芯片中的CFE(Common Firmware Environment)引导加载程序的命令行接口及其闪存结构。这些信息对于理解并操作基于bcm963xx平台的DSL路由器至关重要。
#### CFE BootLoader命令行接口
在启动过程中,可以通过以下步骤进入CFE引导加载程序的控制台:
1. **连接串口线**:将PC与bcm963xx参考板的串口控制台端口相连。
2. **配置并启动终端仿真程序**:使用如minicom等串口终端仿真程序进行配置和启动。
3. **重置bcm963xx DSL路由器**:这一步将启动引导加载程序。
4. **输入板卡配置参数**:如果闪存中的NVRAM配置数据部分无效,则需要手动输入板卡配置参数。例如:
- 板卡ID名称(0-3 或 0-10 或 0-2):根据具体的板卡型号选择相应的编号。
- MAC地址数量(1-32):根据实际需求输入MAC地址的数量。
- 基础MAC地址:输入基础MAC地址,格式为02:10:18:XX:XX:XX。
例如,对于96358VW板卡,可以这样输入:
```
BoardIdName(0-3) 96358VW--------0
NumberofMACAddresses(1-32): 1
BaseMACAddress: 02:10:18:38:38:01
```
5. **获取引导提示**:在minicom中,在一秒钟倒计时完成之前按下任意键,以获得引导提示。屏幕会显示以下消息及“CFE>”提示:
```
CFE version 1.0.37-5.8 for BCM96348 (32bit, SP, BE)
Build Date: Wed Jan 4 14:24:36 PST 2006 (root@DT-lt-linux)
Copyright (C) 2000-2005 Broadcom Corporation.
Boot Address 0xbfc00000 Initializing Arena.
```
#### CFE BootLoader命令
CFE提供了丰富的命令集,用于管理引导过程、内存、闪存以及其他系统资源。以下是一些关键命令的概述:
- **CFE命令“c”**:用于继续执行操作系统内核的启动流程。此命令通常在所有必要的配置都已完成之后使用。
- **CFE命令示例**:
- `cfecmd c`:继续执行内核启动。
- `cfecmd printenv`:显示当前环境变量。
- `cfecmd setenv
`:设置环境变量。
- `cfecmd bootm `:从指定的地址启动内核。
- `cfecmd tftpboot `:通过TFTP协议下载文件。
- `cfecmd dhcp`:通过DHCP协议获取IP地址和其他网络配置。
#### Flash Memory结构
CFE不仅管理引导加载过程,还负责维护和管理闪存结构。主要包括以下几个方面:
1. **双Linux映像支持**:允许在同一设备上存储两个不同的Linux映像,以便于故障恢复或版本切换。
2. **Linux Image File Tag Structure**:定义了Linux映像文件的标签结构,有助于识别和选择正确的映像文件。
3. **NVRAM Configuration Data Structure**:用于存储非易失性RAM中的配置数据,包括但不限于MAC地址、板卡ID等信息。
#### 总结
本文详细介绍了bcm963xx系列芯片中的CFE引导加载程序的命令行接口及其闪存结构。通过对这些命令和结构的理解,开发人员能够更好地管理和配置基于bcm963xx平台的设备,确保其稳定运行并充分利用硬件资源。希望本文能为相关领域的技术人员提供有价值的参考和指导。