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毫秒