` 本帖最后由 电子微创意 于 2015-10-12 21:39 编辑
继上篇报告已经分析了一下GPIO操作的原理与方法步骤,源码是利用了ti提供的StartWare库,TL6748只不过是稍加润色使得更加符合实际工程的习惯。起初楼主也是甚不习惯,因为楼主陋习:一个工程独立一个文件夹堆上一堆源文件,这样对项目的维护非常不利。因此开始努力去体会TL6748中例程的文档结构与编程规范。本文就简单展示一下TL6748的工程组织形式,希望高手指点迷津。 本篇报告会涉及以下内容: 1.Startware的文档组织形式与TL6748的工程组织。
2.使用CCS的寄存器查看功能辅助调试。 (一)Startware的文档组织形式与TL6748的工程组织 StartWare获取途径: 1.戳该链接至TI官网下载: http://software-dl.ti.com/dsps/dsps_public_sw/c6000/starterware/01_20_04_01/index_FDS.html 2.TL6748附带光盘TL6748-EVM-tools目录下的安装文件C6748_StarterWare_1_20_04_01-Setup.exe 楼主为了偷懒直接使用了TL6748光盘中的安装包,TI可能会更新版本,本文与TL6748光盘中的StartWare使用的版本一致。安装路径默认C: iC6748_StarterWare_1_20_04_01 StartWare的帮助文档位于TL6748光盘中 TL6748-EVM-dataTI参考文档C6748 StarterWare 目录下。该目录下收录了四个关于StartWare的使用指导文档:
a.Quick Start Guide StarterWare 01.20.XX.XX (supports C6748).pdf
b.StarterWare 01.20.01.01 User Guide.pdf
c.StarterWare 01.20.04.01 Release Notes.pdf
d.StarterWare Getting Started 01.20.XX.XX.pdf
其中文档StarterWare 01.20.04.01 Release Notes.pdf是描述StartWare版本历史的,可以略过。Quick Start Guide StarterWare 01.20.XX.XX (supports C6748).pdf其实也并无卵用。可以直接从StarterWare Getting Started 01.20.XX.XX.pdf入手了解StartWare。所以驱动均以源码形式存在。真正指导使用StartWare进行编程的是文档StarterWare 01.20.01.01 User Guide.pdf建议使用前认真阅读。 还是以上篇演示的GPIO_LED这个工程为例来说明这个工程的组织。 在工程管理界面上激活GPIO_LED这个工程(单击选中即激活)然后依次进行以下操作:Project-Properties 打开工程属性。
依次展开Build-C6000 Compiler选项,并激活Include Options可以查看工程中所包含的的头文件搜索路径。通过比较StartWare的安装路径与TL6748的StartWare文件夹下的文件有助于理解TL的工程结构。TL的工程中直接调用了已经编译好的lib文件,所以调试时执行单步运行会提示找不到源码。
这不是硬件故障也不是软件错误。这样的提示是因为CCS找不到源文件而无法继续追踪代码。为了深入了解例程中每一步都做了什么操作,接下来我们就想办法把源码添加进来,然后单步执行。 在工程管理窗口上右键点击工程GPIO_LED:
选择Add Files..并定位至C: iC6748_StarterWare_1_20_04_01drivers 选中gpio.c和psc.c两个文件
选中后点击右下角“打开(O)按钮”
在弹出的对话框中选择“Link to files”并点击“OK”按钮。添加后的工程文档如图所示
然后重新编译工程,并进入调试界面。此时,再执行单步运行则可以直接跳至相关的文件处执行代码了。
(二)使用CCS的寄存器查看功能辅助调试 使用CCS进行调试的时候我们通过查看寄存器来掌握DSP的配置运行情况,下边以GPIO寄存器的数据寄存器为例说明。 目的:通过CCS软件修改GPIO的数据寄存器控制底板LED。 首先连接TL6748与CCS并上电,执行程序至主循环处。
接下来手动改变寄存器的值来控制GPIO0[2] 即D10。 执行View-Registers命令打开寄存器窗口。
在寄存器窗口找到GPIO0并展开
找到OUT_DATA01并展开,可以看到GPIO02为1,此时D10被点亮。
在上图窗口中点击GP0P2右侧的1-SET并选择CLR
此时该位便被清除,D10熄灭。其他寄存器的修改方法类似。 小结 合理的工程组织方式有助于项目的生产维护,TL6748以规范的编程及工程文件的组织使楼主倍感欣慰,值得借鉴!学习非一朝一日之事,看懂一两个程序也不是什么难事儿,还得仔细揣摩其中的奥妙学以致用。 【本文完,从下一个报告开始着手规划图像处理的底板,由于TL6748-EasyEVM为TL6748-EVM的简化版,没有VGA及VPIF接口,所以还需要楼主自己去打样一块板子来继续我的任务,初步规划底板留出VGA、以太网功能,预留EMIF及VPIF接口。有感兴趣的童鞋可以一起拼单,打样及芯片费用估计在RMB400以内】 --------------------华---丽---的---分---割---线-------------------- 声明:本文内容及观点为楼主主观意识的产物,褒贬纯属个人意见,不存在黑谁捧谁,严格遵循试用规则。如有冒犯多多包涵,实在看不下去可以私信沟通,不要让法院给俺寄传票!^_^
`
|