vxWorks_BSP移植笔记(6)

2019-03-16 16:56

广州致远电子有限公司 VxWorks BSP移植技术笔记 VxWorks技术笔记

void sysSerialHwInit2 (void) {

(void)intConnect(INUM_TO_IVEC(devParas[0].vector), __uartIsr,

(int)(SIO_CHAN *)&__GsamsungsiochanUart0 ); }

? sysSerialChanGet()

此函数主要是从通道号得到该通道的设备描述符。实现很简单。如程序清单3.19所示:

程序清单3.19 sysSerialChanGet

SIO_CHAN *sysSerialChanGet (int iChan) {

if (iChan < 0 || iChan >= N_SIO_CHANNELS) { return (SIO_CHAN *)ERROR; }

return (sysSioChans[iChan]); }

4. 对target agent的支持

目标板与主机的在线调试往往是通过串口通讯的。所以为了支持对target agent,我们有必要做一些驱动函数。一般情况下target与主机之间通讯模式有三种: ? ? ?

中断模式(interrupt mode):支持任务级的调试。 查询模式(polled mode):支持系统级别的调试。 双模式(bi-mode):支持两种模式之间的切换。

要支持查询模式,我们必须进一步实现两个设备的驱动函数-xxPollInput、xxPollOutput,然后修改Ioctl()相应的项。一般情况下建议支持查询模式。

5. 总结

从上面的叙述里我们可以总结出完成一个串行设备的驱动我们要做如下的一些工作: ? ? ? ? ? ? ? ?

config.h中修改NUM_TTY 修改sysSerial.c中的函数:sysSerialHwInit()、sysSerialHwInit2()、sysSerialChanGet()。

编写底层入口函数的安装函数xxDevInit() 编写具体的驱动入口函数: xxCallBackInstall( ) xxPollOutput( ) xxPollInput( ) xxIoctl( )

xxTxStartup( )

VxWorks中串行设备驱动系统各个模块(函数)之间的关系如图3.12:

移植技术笔记 ?2009 Guangzhou ZHIYUAN Electronics CO., LTD.

21

广州致远电子有限公司 VxWorks BSP移植技术笔记 VxWorks技术笔记

图3.12 vxWorks中串行设备驱动个模块的关系图

3.5 编译链接

移植技术笔记 ?2009 Guangzhou ZHIYUAN Electronics CO., LTD.

22

广州致远电子有限公司 VxWorks BSP移植技术笔记 VxWorks技术笔记

4. 参考资料

移植技术笔记 ?2009 Guangzhou ZHIYUAN Electronics CO., LTD.

23


vxWorks_BSP移植笔记(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013江苏会计电算化机考题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: