新闻  |   论坛  |   博客  |   在线研讨会
有vxworks编写驱动程序提示。
shadowind | 2008-07-27 22:15:46    阅读:1534   发布文章

涉及到保密,(不是我们的)
只写一个大概吧。
在 VxWorks BSP中加入驱动程序
VxWorks BSP本身提供了一些通用驱动程序,如Timestamp Driver、
SCSI设备驱动程序,以及串口驱动、内存驱动、定时器驱动等等。
但是,在实际应用过程中,用户有必要加入自己的驱动程序。
VxWorks提供的驱动程序放在BSP目录\Tornado\target\h\drv和
D:\Tornado\target\src\drv中,用户编写的驱动程序最好不要放
在这两个目录中,这是因为不同的应用使用的驱动程序是不尽相
同的。用户编写的驱动程序最好放在用户新建的目录bspname中。
VxWorks支持用GNU C编写的驱动程序。
要把用户编写的驱动程序融入到VxWorks BSP中,可以利用
makefile文件。在VxWorks中使用GNU make机制。每个BSP都包含
一个makefile文件,用来构建VxWorks,这个文件叫Makefile,
它包含构建VxWorks的最基本的信息,在Makefile中,用户必须
定义下列宏:
CPU   目标CPU的结构(例如,MC68040)
TOOL   主机工具链(例如,gnu)
TARGET_DIR  目标目录路径名(BSP名)
VENDOR   目标厂商名
BOARD   目标名
ROM_TEXT_ADRS  boot ROM入口地址,
用十六进制表示。对于大多数目标板来说,
boot ROM入口地址就是ROM地址域的起始位置。然而,如果硬件
配置使得ROM的起始地址放reset矢量,那么boot ROM的入口地
址就要有一定的偏移
ROM_SIZE ROM所占的地址空间大小,用16进制表示。
RAM_LOW_ADRS 装载VxWorks的地址, RAM_LOW_ADRS和
下面的RAM_HIGH_ADRS是典型的architecture-specific的相
对于DRAM基址的偏移
RAM_HIGH_ADRS 把bootROM中的image装载入RAM中的目
的地地址(Boot image entry point),它必须与文件
config.h中RAM_HIGH_ADRS的取值一致
HEX_FLAGS 用于WRS的architecture-specific
的标志,产生S-record文件
MACH_EXTRA 包含其它与机器硬件有关的内容的
文件,它可以把.o文件链接到VxWorks输出目标中。
Make宏LIB_EXTRA可以在VxWorks中增加新的库存档,
而无需改变标准的VxWorks存档或驱动库存档。
Make宏EXTRA_INCLUDE可以把用户目录下的头文件链接
到VxWorks中。
Make宏ADDED_CFLAGS可以用来控制VxWorks的配制,
而无需修改任何源代码。
使用上述make宏MACH_EXTRA 、LIB_EXTRA、EXTRA_INCLUDE
和ADDED_CFLAGS就可以把用户编写的文件方便地加入VxWorks中。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客