曙海教育集团论坛VxWorks专区VxWorks BSP开发 → arm技术VxWork BSP启动过程


  共有6387人关注过本帖树形打印

主题:arm技术VxWork BSP启动过程

美女呀,离线,留言给我吧!
wangxinxin
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 帖子:1393 积分:14038 威望:0 精华:0 注册:2010-11-12 11:08:23
arm技术VxWork BSP启动过程  发帖心情 Post By:2010-12-1 9:11:44

开发BSP主要的两点:

  1. 系统image的生成,image的种类,image的download下载过程,系统的启动顺序和过程,调试环境的配置及远端调试的方式和方法,相应BSP设置文件的修改(网络,串口..),BSP各文件的组成和作用.

  1. 要对系统底层驱动清楚,也就是对CPU及相关的硬件有所了解.主要是32微处理器(上电启动过程, download image的方式方法,读写ROM,地址空间分配,MMU,寄存器,中断定义,..).参照硬件资料,多读一些源码会有所帮助.

Tornado 2 开发调试环境协议框图

主机开发(Host Development System)

目标机(Target System)

Tornado 工具

 

WTX协议通信<==========>

Editor Project
Shell Debugger Browser Windview

Target Server

|

Target Agent VxWorks Target Simulator

WDB协议通信
<==========>

Application VxWorks OS VxWorks Target (WDB)Agent

两个主要两个协议

WTX协议(Wind River Tool eXchange): 用于开发机内部Tornado工具与Target Server之间通信.

WDB协议(Wind DeBug): 用于主机Target Server与目标机之间的通信.

 

一.基本概念

BSP定义:

Provides VxWorks with primary interface to hardware environment.

作用: 

  • 在通电后,初始化硬件.

  • 支持VxWorks和硬件驱动通信.

  • 使hardware-dependent 和 hardware-independent在VxWorks系统中很好的结合.

主要BSP主要文件目录的组成及主要文件的作用:

  • 目录target/config/All:

这个目录下的文件

是所有BSP文件共享的,不是特别需要不要更改里面的任何文件.

configAll.h:

缺省定义了所有VxWorks的设置.如果不用缺省的设置,可在BSP目录下的config.h文件中用#define或#undef方式来更改设置.

bootInit.c:

在romInit.s后,完成Boot ROM的第二步初始化.程序从romInit.s中的romInit()跳到这个文件中的romStart().来执行必要的解压和ROM image的放置.

bootConfig.c: 完成Boot ROM image的初始化和控制.

usrConfig.c: VxWorks image的初始化代码.

  • 目录target/config/comps/src:

涉及系统核心的components,主要由target/config/All中usrConfig.c中函数调用

  • 目录target/config/bspname:

包含系统或硬件相关的BSP文件.

Makefile

一些命令行控制images的生成,参见 BSP设置部分及生成下载

README

BSP发布纪录,版本,总的文档

config.h

包括所有涉及CPU主板的设置及定义(includes,definations),参见 BSP设置文件及生成下载

configNet.h

网络驱动的主要设置文件,主要对END驱动设置.

romInit.s

汇编语言文件,是VxWorks Boot ROM和ROM based image的入口,参见 系统启动部分

sysALib.s

汇编语言文件,程序员可以把自己的汇编函数放在这个文件里,在上层调用.VxWorks image的入口点_sysInit在这个文件里,是在RAM中执行的第一个函数.

sysLib.c

包含一些系统相关的函数例程,提供了一个board-level的接口,VxWorks和应用程序可以以system-indepent的方式生成.这个文件还能包含目录target/config/comps/src的驱动.

sysScsi.c

可选文件用于Scsi设备设置和初始化.

sysSerial.c

可选文件用于所有的串口设置和初始化.

bootrom.hex

ASIC文件包含VxWorks Boot ROM代码

VxWorks

运行在目标机上,完整的,连结后的VxWorks二进制文件.

VxWorks.sym

完全的,连结后带有符号表的VxWorks二进制文件

VxWorks.st

完全的,连结后,standalone,带有符号表的VxWorks二进制文件

 

  • BSP用"make"来编译连接生成(Created),而不是用Tornado的工具.

  • BSP和应用程序都可以在"make"或"tornade"上开发(developed)

  • BSP被设置包括以下驱动:

中断控制interrupt controller,计时器timer(sys/aux),串口UART(serial),显示屏LCD,键盘Keyboard(opt),触摸屏touch-screen(opt).

前面三个是BSP的主要部分.

  • BSP默认的download VxWorks RAM image方式是从ethernet.

  • 串口电缆需要用来和开发板(COM1)通信,通过协议WDB.

    VxWorks Image的种类:

  • Loadable images.

  • ROM-based images---compressed/uncompressed.

 


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

arm技术VxWork BSP启动过程








签名