📄 flexhammer_ppc_bsp_readme.txt
字号:
/* readme.txt - flex X/MPC8240 BSP user manual */
/* Copyright 2000-2001 Hambor, Inc. */
/*
modification history
--------------------
11a,10oct2k, Xiong Hui, written for flex ethernet switch by flex Team.
*/
内容目录:
○。 版本信息
一。 功能与用途
二。 文件清单
三。 使用指导
四。 实验指导:建立Tornado WDB调试环境
○。 版本信息:
名称 :FLEX以太网交换机 Board Support Packages For Tornado WDB,
版本号 :Version 1.2
发布时间 :2001年01月16日
设计者 :熊 辉
一。 功能与用途:
1. 支持网口BOOTROM引导;
2. 支持串口BOOTROM引导;
3. 支持网口Tornado WDB 调试
4. 支持串口Tornado WDB 调试
5. 支持FLEX电路板调试
二。 文件清单:共计76个文件
1. 使用说明: readme.txt
2. 编译控制: makefile
3. 源程序 :
basicInterfaceDefs.h
basicInterfaceFuncs.h
boot_sio.h
cfg.c
cfg.h
common.c
config.h
configEnd.h
configNet.h
copyright_hambor.h
cpld.c
cpld.h
cpld.h.v1
cpld.h.v2
crossbarDef.c
errPrint.c
flex.h
GalNet48303End.c
GalNet48303End.h
GalNet48303EndCommon.h
galnetConfig.h
galnetInit.c
galnetInit.h
galnetpci.c
galnetpci.h
galOs.h
Gn3InterfaceDefs.h
Gn3InterfaceFuncs.h
gt_start.c
gt_start.h
hwCntl.c
hwCntl.h
ifcCommon.h
ifcConfig.h
ifcCrossbarDef.h
ifcIP.h
ifcMAC.h
ifcStruct.h
ifcSwitchDef.h
ifcTask.h
ifcVlan.h
interrupt.c
interrupt.h
iptable.c
ipTable.h
linkList.c
linkList.h
macAddrTable.c
macAddrTable.h
meminit.c
meminit.h
mpc107.h
ppc8240pci.c
ppc8240pci.h
romInit.s
st16c552Sio.c
st16c552Sio.h
switchDef.c
sysALib.s
sysEpic.c
sysEpic.h
sysLib.c
sysLib.h
sysNet.c
sysSerial.c
sysSerial.h
task.c
task.h
txHandling.c
txrx.c
vlan.c
boot_macaddr.h
boot_macaddr.c
三。 使用指导:
(○) 使用准备:
1. 请备份本BSP, 保持目录名FLEX_BSP_WDB
2. 修改系统文件autoexec.bat
将<tornado>/host/x86-win32/bin/torvar.bat的内容拷入autoexec.bat,重启动主机
3. (重要)使用前请确认Flex电路板的版本,
针对第一版 Flex电路板,须用cpld.h.v1的内容覆盖cpld.h的内容
针对第二版 Flex电路板,须用cpld.h.v2的内容覆盖cpld.h的内容
BSP中的cpld.h缺省适用第二版 Flex电路板, 即cpld.h.v2
4. bootrom 驻留boot mac 地址表:
a) 需要使用本机mac地址的用户程序,请包含bsp头文件 : boot_macaddr.h
#include "boot_macaddr.h"
b) 机器上电后,缺省的mac addr. 由宏 BOOT_MAC_ADDR 定义
c) 机器上电后,可用的mac addr. 组 ,由全局结构变量 Local_Mac_Addr_Table 记录
Local_Mac_Addr_Table 有两个成员:
mac_addr * Mac_Addr_Table_Head; /* 为可用的mac addr 数组头地址 */
int Mac_Addr_Table_Size; /* 为可用的mac addr 数量 */
mac_addr 为 mac addr. 类型结构,有两个成员:
addr[6]; /* mac. addr. 数据 */
unsigned char pad[2]; /* 结构对齐字节 */
e)修改boot mac. 地址表
更改Flex交换机引导Mac.地址:
修改文件 boot_macaddr.h 的宏定义BOOT_MAC_ADDR
#define BOOT_MAC_ADDR {0x22,0x22,0x22,0x22,0x22,0x22}
添加语句:
#undef BOOT_MAC_ADDR
#define BOOT_MAC_ADDR {0x..,0x..,0x..,0x..,0x..,0x..} /* 用户定义 */
更改Flex交换机可用Mac.地址组:
修改文件 boot_macaddr.c 的全局变量
mac_addr Boot_MacAddrArray[BOOT_MAC_ADDR_NUM + 1]
= {
.......
用户定义Mac.地址组
}
(一) 生成 网口引导bootrom
步骤1. 备份并编辑.../FLEX_BSP_WDB/config.h (可选)
在config.h中找到宏定义
#define DEFAULT_BOOT_LINE "gl(0,0)host:vxWorks h=192.168.0.113 e=192.168.0.127 u=test2 pw=drv tn=board2 f=0x00"
根据需要修改参数:
h = 主机IP地址
e = 目标机IP地址
u = ftp server 用户
pw = ftp server 用户口令
tn = 目标板网络机器名
说明:一般不修改,可在目标机开机时,通过引导提示行,用户重新配置
步骤2. 进入DOS命令行方式, 进入 .../FLEX_BSP_WDB
步骤3. 执行make bootrom.hex
生成 录制文件bootrom.hex 完毕
(二)生成 串口引导bootrom
步骤1. 备份并编辑.../FLEX_BSP_WDB/config.h
在config.h中找到宏定义 #undef INCLUDE_TSFS_BOOT
修改为:#define INCLUDE_TSFS_BOOT
步骤2. 备份并编辑.../FLEX_BSP_WDB/boot_sio.h (可选步骤)
在boot_sio.h中找到宏定义 #define WDB_TTY_CHANNEL 0
根据联接需要修改:#define WDB_TTY_CHANNEL 1
说明:缺省的串口加载通道为 0, 根据联接需要可改为 1
步骤3. 进入DOS命令行方式, 进入 .../FLEX_BSP_WDB
步骤4. 执行make bootrom.hex
生成 录制文件bootrom.hex 完毕
(三)生成 WDB网口调试vxWorks
步骤1. 启动Tornado 2.0 for PowerPC集成编辑环境
步骤2. 建立新的工程(create bootable vxWorks image project),
假设工程名project_name 工程路径 project_dir
BSP选择使用本BSP: ../FLEX_BSP_WDB
步骤3. (可选项)在WorkSpace窗/vxWork栏/<project>树 选择VxWorks配置栏, 根据需要配置vxWorks模块
操作方法说明: 使用鼠标键,
1) 鼠标左键选择vxWorks配置图标树项目,
右键点击,出现浮动窗菜单选择
左键选择 Include/Exclude "配置项目", 达到配置/省略 vxWorks模块
2) 鼠标左键双击vxWorks配置图标树项目,可以观察配置项目属性与参数
常用配置Include:
1) Development Tool Component
-> Select WDB Connect
-> WDB END Driver Connect
-> Show Routine
-> memory show routine
-> message queue show routine
-> semaphore show routine
-> stdio show routine
-> symbol table show routine
-> task show routine
-> Symbol Table Component
-> error status table
-> symbol table
-> symbol table initialize component
-> initialize symbol table
-> select symbol initialize table
-> built in symbol initilize table
2) network component
-> network device
-> END attach interface
-> END interface support
-> network protocols
-> network application
-> PING Client
-> network debugging
-> Network Show Routine
-> TCP Show Routine
-> UDP Show Routine
步骤4. file/save workspace
步骤5. (可选项)使用菜单项 配置vxWorks的WDB Network参数
Project -> Find Object -> Type Parameter -> DEFAULT_BOOT_LINE
-> find
修改宏定义 DEFAULT_BOOT_LINE
"ene(0,0)host:vxWorks h=192.168.0.24 e=192.168.1.70 u=test2 pw=drv tn=board2 f=0x00"
根据需要修改参数:
h = 主机IP地址
e = 目标机IP地址
u = ftp server 用户
pw = ftp server 用户口令
tn = 目标板网络机器名
步骤6. file/save workspace
步骤7. 检查.h文件 External Dependencies/prjParams.h
宏定义的赋值符合用户修改
#undef DEFAULT_BOOT_LINE
#define DEFAULT_BOOT_LINE \
"ene(0,0)host:vxWorks h=192.168.0.24 e=192.168.1.70 u=test2 pw=drv tn=board2 f=0x00"
步骤8. (可选项)使用菜单项 配置vxWorks的串口console 通道
Project -> Find Object -> Type Parameter -> CONSOLE_TTY
-> find
根据需要,修改宏定义 CONSOLE_TTY 为 0 或 1
步骤9. 检查.h文件 External Dependencies/prjParams.h
宏定义的赋值符合用户修改
#undef CONSOLE_TTY
#define CONSOLE_TTY 0
步骤10. file/save workspace
步骤11. (重要)修改.c 文件 prjConfig.c
找到函数 void usrIosCoreInit (void)
如下添加语句
void usrIosCoreInit (void)
{
sysStartType = BOOT_CLEAR ; /* 添加语句 */
说明:此语句修改全局变量,废除bootrom的热引导参数,改用vxWorks引导参数
步骤12. File/Save workspace
步骤13. (重要)Build/Rebuild all
步骤14. (重要) 检查上述代码修改工作是否有效完成. 如果没有成功,重复 步骤3. 到步骤13.
说明:由于Tornado缺陷,上叙配置不一定会成功,步骤14是必要的。
步骤15. 编译输出窗提示,编译成功, 得到〈project_dir〉/default/vxWorks文件
同时,双击检查WorkSpace窗/File栏/<project_name>树/Object Module枝/vxWorks项目
完毕。
(四)生成 WDB串口调试vxWorks
步骤1. 备份并编辑.../FLEX_BSP_WDB/config.h
在config.h中找到宏定义 #undef INCLUDE_TSFS_BOOT
修改为:#define INCLUDE_TSFS_BOOT
步骤2. 启动Tornado 2.0 for PowerPC集成编辑环境
建立新的工程(create bootable vxWorks image project),
假设工程名project_name 工程路径 project_dir
BSP选择使用本BSP: ../FLEX_BSP_WDB
步骤3. (可选项)在WorkSpace窗/vxWork栏/<project>树 选择VxWorks配置栏, 根据需要配置vxWorks模块
操作方法说明: 使用鼠标键,
1) 鼠标左键选择vxWorks配置图标树项目,
右键点击,出现浮动窗菜单选择
左键选择 Include/Exclude "配置项目", 达到配置/省略 vxWorks模块
2) 鼠标左键双击vxWorks配置图标树项目,可以观察配置项目属性与参数
常用配置Include:
1) Development Tool Component
-> Select WDB Connect
-> WDB serial Connect
-> Show Routine
-> memory show routine
-> message queue show routine
-> semaphore show routine
-> stdio show routine
-> symbol table show routine
-> task show routine
-> Symbol Table Component
-> error status table
-> symbol table
-> symbol table initialize component
-> initialize symbol table
-> select symbol initialize table
-> built in symbol initilize table
2) network component
-> network device
-> END attach interface
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -