查看文章 |
标题:有vxworks编写驱动程序提示。
2008-07-27 22:15:46
涉及到保密,(不是我们的) 只写一个大概吧。 在 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中。 |
本文引用通告地址:http://shadowind.spaces.eepw.com.cn/articles/trackback/item/31896
类别:嵌入式
| 浏览(88) 引用(0)