DM648应用开发之使用PSP驱动
来源:百度文库 编辑:神马文学网 时间:2024/05/02 06:15:09
作者:Free 文章来源:Free 点击数: 59 更新时间:2010-8-4
本文一步步说明怎样初始化和使用PSP软件包。PSP包含在标准的DVSDK安装中,它提供标准的DSP/BIOS GIO 或SIO的接口程序对外设进行上层操作,PSP为每个设备提供了足够的IOM兼容的微驱动设置。
1、外设初始化
每个PSP驱动的核心都是IOM兼容的微驱动。IOM要求外设在工程的TCF文件中定义和初始化。下面的代码是I2C设备的初始化设置:
将上面的代码保存在后缀为TCI的文本文件中,如i2c0.tci。在工程的主TCF文件中下面的代码:
这样TCI文件可以被多个工程共享。
另外,TCF图形配置工具可以在工程TCF文件中自动产生上面的代码。你可以在列表中插入一个新的用户自定义设备,如下图所示:
图1 使用图形编辑器增加设备到TCF
1.1、小结
1)在工程TCF文件中定义和初始化外设;
2)设置设备的参数。
2、链接驱动库
本节说明了怎样将PSP驱动集成到工程中。因为一些PSP版本(version 1.10.xx.xx)是依据RTSC封装标准,而其它(version 1.00.xx.xx)不是,所以链接PSP驱动库的方法也不同。本文只讨论新版本,对老版本有兴趣的朋友可以去查相关资料。
2.1、使用XDCTOOLS链接PSP 1.10.xx.xx 驱动
新的PSP使用RTSC封装来加快集成。只需要增加一行代码到XDC配置文件(*.cfg)中:
个别的驱动可能好要求包含如:PAL库,EDMA3 LLD等。
你需要设置工程的Build选项中XDC项目,关键步骤如下:
1)设置目标器件:ti.targets.C64P
2)设置平台:ti.platforms.evmDM648
3)勾选包括TCF(或增加—tcf)
4)设置XDC搜索路径,例如:
--xdcpathsfile="%BIOSDVSDK_INSTALL_DIR%/xdcpaths_evmDM648.dat"
设置工程Build选项中编译项目:
1)包括自动生成编译指示:-@"=$(Proj_dir)/xdcconfig/compiler.opt"
2)将TCF从build中除去(非XDC)。
链接驱动库只完成了工作的一半。使用PSP驱动的数据类型或宏都需要相应的头文件,在RSTC封装的PSP之下,对应的头文件被列于相关的目录下。XDC生成的compiler.opt文件告诉CCS所有头文件的对应文件夹路径。对于I2C驱动,相关包括代码如下:
2.1.1、小结
1)添加封装到工程的XDC配置描述文件;
2)添加cfg文件到工程中,并使用工程Build选项配置;
3)包括在XDCTOOLS搜索路径下的相关头文件。
2.2、不使用XDCTOOLS链接PSP 1.10.xx.xx 驱动
RTSC封装的PSP,也可以不使用XDCTOOLS直接集成驱动。为了不编辑PSP头文件,需要包括PSP对应子文件夹到编译器的搜索路径:
另外,你需要包含每个头文件的相关路径到你的源文件中:
库文件的使用也相似:
3、创建和使用驱动句柄
PSP驱动通过调用GIO API在运行时接入(有些也使用SIO),通过调用GIO_create/SIO_create来创建驱动器句柄,此后外设就为I/O传输做好了准备。下面的代码说明了GIO_create的使用:
通过设备句柄调用GIO_submit及对应的命令初始化I/O传输,需要设置传输参数,使用方法参见以下代码(调用GIO_read):
要在运行中更改参数可以通过GIO_control。下面的代码更改I2C的总线频率到200kHz。
在使用PSP驱动时,应该避免直接修改寄存器来更改外设的特性。
3.1、小结
1)在C程序中使用GIO_create 或SIO_create创建设备句柄;
2)设备立即生效;
3)使用GIO_submit或SIO_submit/SIO_reclaim初始化传输;
4)使用GIO_control改变设备状态和参数。
附注:
详细的说明请参见TI公司的说明文件。
本文一步步说明怎样初始化和使用PSP软件包。PSP包含在标准的DVSDK安装中,它提供标准的DSP/BIOS GIO 或SIO的接口程序对外设进行上层操作,PSP为每个设备提供了足够的IOM兼容的微驱动设置。
1、外设初始化
每个PSP驱动的核心都是IOM兼容的微驱动。IOM要求外设在工程的TCF文件中定义和初始化。下面的代码是I2C设备的初始化设置:
将上面的代码保存在后缀为TCI的文本文件中,如i2c0.tci。在工程的主TCF文件中下面的代码:
这样TCI文件可以被多个工程共享。
另外,TCF图形配置工具可以在工程TCF文件中自动产生上面的代码。你可以在列表中插入一个新的用户自定义设备,如下图所示:
图1 使用图形编辑器增加设备到TCF
1.1、小结
1)在工程TCF文件中定义和初始化外设;
2)设置设备的参数。
2、链接驱动库
本节说明了怎样将PSP驱动集成到工程中。因为一些PSP版本(version 1.10.xx.xx)是依据RTSC封装标准,而其它(version 1.00.xx.xx)不是,所以链接PSP驱动库的方法也不同。本文只讨论新版本,对老版本有兴趣的朋友可以去查相关资料。
2.1、使用XDCTOOLS链接PSP 1.10.xx.xx 驱动
新的PSP使用RTSC封装来加快集成。只需要增加一行代码到XDC配置文件(*.cfg)中:
个别的驱动可能好要求包含如:PAL库,EDMA3 LLD等。
你需要设置工程的Build选项中XDC项目,关键步骤如下:
1)设置目标器件:ti.targets.C64P
2)设置平台:ti.platforms.evmDM648
3)勾选包括TCF(或增加—tcf)
4)设置XDC搜索路径,例如:
--xdcpathsfile="%BIOSDVSDK_INSTALL_DIR%/xdcpaths_evmDM648.dat"
设置工程Build选项中编译项目:
1)包括自动生成编译指示:-@"=$(Proj_dir)/xdcconfig/compiler.opt"
2)将TCF从build中除去(非XDC)。
链接驱动库只完成了工作的一半。使用PSP驱动的数据类型或宏都需要相应的头文件,在RSTC封装的PSP之下,对应的头文件被列于相关的目录下。XDC生成的compiler.opt文件告诉CCS所有头文件的对应文件夹路径。对于I2C驱动,相关包括代码如下:
2.1.1、小结
1)添加封装到工程的XDC配置描述文件;
2)添加cfg文件到工程中,并使用工程Build选项配置;
3)包括在XDCTOOLS搜索路径下的相关头文件。
2.2、不使用XDCTOOLS链接PSP 1.10.xx.xx 驱动
RTSC封装的PSP,也可以不使用XDCTOOLS直接集成驱动。为了不编辑PSP头文件,需要包括PSP对应子文件夹到编译器的搜索路径:
另外,你需要包含每个头文件的相关路径到你的源文件中:
库文件的使用也相似:
3、创建和使用驱动句柄
PSP驱动通过调用GIO API在运行时接入(有些也使用SIO),通过调用GIO_create/SIO_create来创建驱动器句柄,此后外设就为I/O传输做好了准备。下面的代码说明了GIO_create的使用:
通过设备句柄调用GIO_submit及对应的命令初始化I/O传输,需要设置传输参数,使用方法参见以下代码(调用GIO_read):
要在运行中更改参数可以通过GIO_control。下面的代码更改I2C的总线频率到200kHz。
在使用PSP驱动时,应该避免直接修改寄存器来更改外设的特性。
3.1、小结
1)在C程序中使用GIO_create 或SIO_create创建设备句柄;
2)设备立即生效;
3)使用GIO_submit或SIO_submit/SIO_reclaim初始化传输;
4)使用GIO_control改变设备状态和参数。
附注:
详细的说明请参见TI公司的说明文件。
DM648应用开发之使用PSP驱动
使用SWT开发WEB应用
使用SWT开发WEB应用
使用 Ajax Toolkit Framework 开发 Dojo 应用
使用 Ajax Toolkit Framework 开发 Dojo 应用
使用 Ajax Toolkit Framework 开发 Dojo 应用
模型驱动开发
如何使用gcc编译器? - 《Linux设备驱动开发详解》学习笔记 - DaiQ
使用DirectShow驱动摄像头
如何使用PSP平台FC模拟器NesterJ
使用 Dojo 的 Ajax 应用开发进阶教程,第 8 部分: Dijit 开发最佳实践
Liferay系列文章(七)Liferay应用之开发2
Liferay系列文章(七)Liferay应用之开发的
Liferay系列文章(七)Liferay应用之开发额
刷新D-Link无线网卡驱动 搞定PSP上网-中关村在线
什么是测试驱动开发?(TDD之一)
测试驱动开发TDD简介入门
嵌入式Linux系统的触摸屏驱动开发
Windows文件系统过滤驱动开发教程
模型驱动开发的误解和挑战
WinCE USB驱动开发 错走冤枉路
(转郭任前辈)uClinux驱动开发入门
博客园 - Terrylee的技术专栏 - 使用.NET Remoting开发分布式应用——配置文件篇
IBM developerWorks 中国 : 使用 Apache OpenJPA 开发 EJB 3.0 应用系列