2859
- 收藏
- 点赞
- 分享
- 举报
有vxworks编写驱动程序提示
只写一个大概吧。
在 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中。
在 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中。
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2008-08-23 16:12:03
-
2016-10-14 13:58:54
-
2018-12-20 15:57:12
-
2018-07-06 16:47:54
-
2008-08-23 16:16:51
-
2008-11-02 17:14:58
-
2012-12-04 13:21:40
-
2008-09-28 14:21:28
-
2015-12-02 11:48:54
-
2008-08-07 19:03:51
-
2008-11-18 18:55:21
-
2016-02-18 21:51:06
-
2008-08-23 16:14:41
-
2009-11-05 22:09:02
-
2015-08-12 10:50:42
-
2016-04-22 14:09:58
-
2008-08-07 19:06:02
-
2013-08-27 22:01:47
-
2018-12-12 08:59:23
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5RK3588的DPHY0接lt6911uxe转HDMI抓帧分辨率不对
-
20求rv1106板子的sdk包或者开发板资料
-
10ss928烧录uboot失败
-
10求助,3588调试imx586和ov50c40时,按照瑞芯微的单摄8k配置好设备树后,驱动配置的8k分辨率的,但是只能抓到4k的图,且颜色偏粉
-
50帮忙解决个交叉编译的问题
-
20帮忙交叉编译个源码
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认