Embedded 版 (精华区)
发信人: vmlinuz (生活将因为你而美丽), 信区: Embedded_system
标 题: pSOS使用方法简介
发信站: 哈工大紫丁香 (2001年06月01日08:18:37 星期五), 转信
PSOS的使用方法简介
1.1目标结构
pSOS的作用就是生成主系统应用软件并下传应用层到嵌入式计算机,
嵌入式计算机又叫目标系统。
加入应用模块----------->目标系统
硬件代码叫做BSP( pSOS板支持封装)
1.2 系统规划
Object Libraries
pSOS代码 include files
Source files
1.2.1 配置文件:在 pss_root/configs/std 目录下,包括pSOS的一些参数,例如
串口的波特率,网络的IP地址,pROBE+ debugger的操作模式。这些参数可在建立操
作系统时修改或通过交互式对话框修改。
建立系统的时间及使用的值存在 sys_conf.h 中,保存在工作目录下。
sys_conf.h允许用户指定操作系统查找版本号。这个功能一般用于download时。
在 pssroot/config/std 目录中包含条件声明,例如dialog.c包含建立配置表时的
启动代码。这些文件是只读的,用户不必修改它。
1.2.2 BSP
pssroot/bsps下有一些目录,每个目录包含一个BSP(底层软件封装)。例
如目录MK1000就是MK1000鉴定层的底层软件目录。
1.2.3 系统库
pssroot/sys/os/r3000/libsys.a 为R3000处理器的系统库
pssroot/sys/os/r4000/libsys.a 为R4000处理器的系统库
系统库包含操作系统成份和建立应用系统要调用的部分,系统库通常一次性调
用。只有当升级软件时才会重建它。
1.2.4 工作目录
工作目录是建立pSOS应用软件的目录,工作目录必须包含:
应用代码
系统配置文件 ( sys_conf.h )
驱动器配置文件 ( drv_conf.h )
编译工程文件 ( default.bld userapp.bld )
如果编译器用pRISM,则工作目录可以不必建在pssroot目录下。
1.2.4.1 系统配置文件
系统配置文件 sys_conf.h 是C语言的 include 文件,必须放在工作目录下,
sys_conf.h有许多元素并影响pSOS 环境下的许多方面,下面列出sys_conf.h控制的
例子。
------ 哪些部分编译进应用层
------ 哪些外围设备可被激活
------ 是否包括启动对话框
------ 怎样编译系统初始化代码
------ 各种组件的初始化登录表(如任务码,队列,其它pSOS 内核,目标)
1.2.4.2 驱动器配置文件
drv_conf.c 包含两个程序,这两个程序在pSOS 系统启动时调用,以便装入pSOS
驱动器表,除非用户加入了新的驱动器,一般不用不必修改这两个程序。
1.2.5 应用程序例子
pssroot/apps目录下有许多子目录,每个子目录包含一个pSOS 应用的例子,例
子允许用户编译,下载,执行。
1.3 启动download/debug序列
当用户建立一个可执行映象,下一步就要下传到目标系统,初始化执行,开
始调试。调试工具为pROBE+或pRISM集成环境下。
1.3.1 下载可执行映象的的要求
要下载可执行映象,可用如“ROM监视器”in_circuit emulators,支持
Morotola, ELF/Dwarf格式。提供pSOS 所有的底层根ROMS。
1.3.2 开始可执行映象
可执行映象的启动是通过控制地址进行的,启动地址由硬件决定。可执行
映象的编译通过pSOS 系统,缺省起始地址是映象装载地址。如果映象装载在
0x80030000,那么起始地址就是0x8003000。
在调试阶段,pROBE+调试器能配置成获得控制输入,pROBE+可操作在单机
或远程模式,单机时用户可通过终端连到目标板上来控制调试器。远程时,pROBE+调
试器与SpoTLIGHT通讯调试,调试器与主机通过串行线或网络连接。
1.3.3 调试操作系统与应用代码
pSOS 启动,初始化步骤
1. 装载可执行映象---------->目标系统
2. 控制起始地址
3. 开始pSOS 内核
4. 设置断点
5. 开始应用程序
1.4 pSOS 的 boot ROMs (一般在Flash中)
----- 基本引导(boot) ROM使pROBE+调试器通过 RS-232 来下载
----- 完整引导ROM包含pNA+网络管理,pSOS内核,一般文件传输
协议(FTP)的引导装入,还有pROBE+调试器
----- 配置pSOS 软件与硬件环境
----- Download & debug
使用boot ROMs的步骤
1. 复位CPU或启动电源就进入引导ROM配置
2. 可配置的调试器(单机或网络操作)
3. 离开配置模式,初始化常驻ROM操作系统。开始ROM调试器
4. 使用调试器download可执行映象
5. 控制起始地址
3.1 介绍软硬件
---- 安装PRISM集成调试环境,有pROBE+调试器
---- 一些例子需要pNA+网络管理系统
---- 一些例子需要终端仿真
---- pRISM command_line,一但开始了command_line就进入了仿UNIX环境,输
入" / "或" \ ", 环境都会转成DOS形式
---- 工作目录包含以下文件:readme, drv_conf.c, sys_conf.h,
default.bld, root.c, userapp.bld
其中 default.bld 为pRISM编译器提供销编译信息,在用pRISM编译应用程序前,
用户可对default.bld 进行修改,以改变用户使用的底层软件
例如若原来为 : target = pss_bsp/posmips.bld
现在的目标板为MK1000,系统保存在c:/usr/psosmicps下,则改为
: target = /usr/psomips/bsps/mk1000/psosmips.bld
3.2.2 配置SpOTLIGHT
要使用SpOTLIGHT,则在default.bld中加入
: romote = spotlight -c s[device]
其中[device]为串行通道的设备名,例如 s/dev/ttya 为串口1
如果你使用以太网和用户数据报协议(UDP)则改为
: remote = spotlight -c u[target]
其中[target]是主机名或 IP 地址,例如 u199.19.198.166
也可以不修改default.bld 而在pRISM集成开发环境下配置 SpOTLIGHT
3.3 使用pRISM集成开发环境
3.4 检查 root.c 文件
root.c 文件包括向控制台或SpOTLIGHT I/O 窗口输出的代码,自动暂停,打
开root.c,注意以下几点
----- root.c文件中有 #include sys_conf.hj, sys_conf.h确定串行驱动器
与周期计时器的设备号。
----- root.c文件中有 #include psos.h,psos.h为pSOS系统的标准头文件,
它保存在pSOS 系统根目录的include子目录下,psos.h定义所有的pSOS
内核的所有常数,如错误代码或选项,所有调用pSOS 设备的源文件都
应有 #include psos.h,类似的头文件提供其它功能。
----- root.c 还包括 probe.h 文件,probe.h 声明文件系统调用
db_output( ),这种调用将在
SpOTLIGHT I/O窗口中输出
----- 常量OUTPUT_TO_DEBUGGER定义本程序输出设置
#define OUTPUT_TO_DEBUGGER 0 输出到串行口
#define OUTPUT_TO_DEBUGGER 1 输出到主机调试器
----- 根任务(root task)初始化周期定时器,定时器提供一个周期性中断,
根据这些中断,pSOS+
内核完成与时间有关的功能
----- #if 语句控制输出参数,如果消息发送到控制台(串口), 则调用
de_write(),否则调用db_output( )
----- 任务调用 t_suspend( ) 来挂起自己
3.5 编译一个可执行映象
如果用户系统有多处理器,则在编译前编辑 sys_conf.h 文件。在sys_conf.h
里找到以下行
#define SC_PSOS YES 改为 #define SC_PSOS NO
#define SC_PSOS NO 改为 #define SC_PSOS YES
按下Build按钮,将会显示一些编译信息,结束编译时会显示结束信息,生成以下文件
ram.map ------------------------ 内存分配文件
ram.elf ------------------------ ELF/Dwarf 文件夹(可链接文件)
ram.sym ------------------------ ram.cfe的符号文件
ram.hex ------------------------ Motorola 的S记录格式
3.6 download可执行映象
执行可执可执行映象增加片断,必须先下载目标系统。
boot ROMs 可在以下模式增加pROBE+ debugger
1. 单机 2. 串口调试 3. 网络调试
3.6.1 boot ROM起动
目标板必须通过 RS-232连接器连接到一个ASC II 终端,设置终端仿真程
序如下
1. 38400 波特 2. 8 bit data 3. 1 stop bit 4. 无奇偶校验
3.6.2 download可执行映象
----- 敲入命令行 probe+ > dl
----- 或在windows98下 1. 进入附件 2. 选择终端程序 3. 选择要发送的文件
4. 指定 ram.hex文件路径
----- download 成功则显示
9840 records read
probe+>
----- 若要仿真终止则输入 probe+> dl prev
3.6.3 起动可执行映象
起动地址为映象装载地址。敲入 probe+>go 80060000
3.7.6 连接pRISM集成开发环境到目标系统
pRISM IDE与目标系统的开发环境通过SpOTLIGHT调试器提供连接,可在pRISM
的build窗口下按以下步骤
1. 在debug按钮旁的输入框里确保显示的方件名为 ram.elf
5.2 增加工作目录
mk c:/ workdir
cd c:/workdir
cp /pssroot/apps/proberom/*.
B.5 LSI 4001 target board
BSP在pss_root/bsps/lsi001目录下
B.5.3 Memory布局
目标板的DRAM起始地址为0x81000000, boot ROMs使用RAM的起始地址为
0x81000000~0x8105FFFF,Download系统入口点是0x81060000,可使用4M~8M DRAM
与1M SRAM.
B.5.4 制作pSOS boot ROM
LSI MR4001的引导ROM建立在apps/tftp代码上,建立的步骤如下
1.设置环境 Shell
shell变量" $pss_root"应包含水量pSOS系统的完整路径
( xx/yy/psosytem/MIPs),shell变量$path必须包括路径$pss_root/bin/sparc
---- 进入工作目录,并copy app/tftp目录下的的有文件
---- 编辑default.bld并改变PSS_BSP定义为LSI MR4001 BSP的完整路径
---- 编辑sys_con.h并改变SC_RAM_SIZE 为 0x5FFFF
---- 调用集成环境,编译 rom.bld
2. 初始化数据放在0x81000000(RAM)中,boot ROM将copy至这里。S格式文件
重新装载,便初始化数据放在紧跟在引导ROM后的代码段。调用一个
$pss_root/bin/sparc/sr2bin命令时,在建立ROM期间这些都自动执行。
结果是编译重建 rom.hex 与 rom.bin
3. 注意确定工具有 "smove.exe" 与"exbin.exe"在下列路径
$pss_root/bin/sparc,否则编辑shell描述文件srzbin并改变以下行
smove = $pss_root/bin/sparc/smove
exbin = $pss_root/bin/sparc/exbin
要使结果文件 rom.hex 或 rom.bin 可被写入四个29F010中,可用如下命令
$pss_root/bin/sparc/splitrom rom.hex b bfc00000 128\rom.1 rom.2 rom.3
rom.4,结果把rom.1, rom.2, rom.3, rom.4写入4片flash中.
B.5.5 设置以太网硬件地址
在LSI MR4001 pSOS系统的boot ROM中,以太网硬件地址是一个配置参数表,
这些参数依照板上以太网硬件地址设定,板上附代码文件应该有以太网参考地址说明。
--
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: mtlab4.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.570毫秒