微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > +TL6748工程分析

+TL6748工程分析

时间:10-02 整理:3721RD 点击:

继上篇报告已经分析了一下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:\ti\C6748_StarterWare_1_20_04_01

StartWare的帮助文档位于TL6748光盘中

TL6748-EVM-data\TI参考文档\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 打开工程属性。



图3.1

依次展开Build-C6000 Compiler选项,并激活Include Options可以查看工程中所包含的的头文件搜索路径。通过比较StartWare的安装路径与TL6748的StartWare文件夹下的文件有助于理解TL的工程结构。TL的工程中直接调用了已经编译好的lib文件,所以调试时执行单步运行会提示找不到源码。

连接开发板进行单步调试出现以下提示:



图3.2

这不是硬件故障也不是软件错误。这样的提示是因为CCS找不到源文件而无法继续追踪代码。为了深入了解例程中每一步都做了什么操作,接下来我们就想办法把源码添加进来,然后单步执行。

在工程管理窗口上右键点击工程GPIO_LED:



图3.3

选择Add Files..并定位至C:\ti\C6748_StarterWare_1_20_04_01\drivers

选中gpio.c和psc.c两个文件



图3.4

选中后点击右下角“打开(O)按钮”



图3.5

在弹出的对话框中选择“Link to files”并点击“OK”按钮。添加后的工程文档如图所示



图3.6

然后重新编译工程,并进入调试界面。此时,再执行单步运行则可以直接跳至相关的文件处执行代码了。



图3.7

(二)使用CCS的寄存器查看功能辅助调试

使用CCS进行调试的时候我们通过查看寄存器来掌握DSP的配置运行情况,下边以GPIO寄存器的数据寄存器为例说明。

目的:通过CCS软件修改GPIO的数据寄存器控制底板LED。

首先连接TL6748与CCS并上电,执行程序至主循环处。



图3.8

接下来手动改变寄存器的值来控制GPIO0[2] 即D10。

执行View-Registers命令打开寄存器窗口。



图3.9

在寄存器窗口找到GPIO0并展开



图3.10

找到OUT_DATA01并展开,可以看到GPIO02为1,此时D10被点亮。



图3.11

在上图窗口中点击GP0P2右侧的1-SET并选择CLR



图3.12

此时该位便被清除,D10熄灭。其他寄存器的修改方法类似。



图3.13

小结

合理的工程组织方式有助于项目的生产维护,TL6748以规范的编程及工程文件的组织使小编倍感欣慰,值得借鉴!学习非一朝一日之事,看懂一两个程序也不是什么难事儿,还得仔细揣摩其中的奥妙学以致用。

【本文完,从下一个报告开始着手规划图像处理的底板,由于TL6748-EasyEVM为TL6748-EVM的简化版,没有VGA及VPIF接口,所以还需要小编自己去打样一块板子来继续我的任务,初步规划底板留出VGA、以太网功能,预留EMIF及VPIF接口。有感兴趣的童鞋可以一起拼单,打样及芯片费用估计在RMB400以内】

--------------------华---丽---的---分---割---线--------------------

声明:本文内容及观点为小编主观意识的产物,褒贬纯属个人意见,不存在黑谁捧谁,严格遵循试用规则。如有冒犯多多包涵,实在看不下去可以私信沟通,不要让法院给俺寄传票!^_^


准备使用创龙的核心板,然后自己制作一块的底板,装到一块使用?

是这个意思,因为这个底板没留出来其他接口

小编厉害啊,我也想学习硬件设计,有没有好的资料分享啊

TL6748的光盘里不是有EVM底板的原理图和PCB吗,我直接拿来主义。

这样也可以。

小编,厉害

底板已经差不多了,可惜PCB不会画就随便连了一下。

你不会画PCB图啊,是两层板吗?我可是画PCB图专业户啊

2层板子不一定好画,电源层和地层单独设立,相当于四层板。

分析的很详细啊,我也想要一块这个板子

申请活动已经结束了吧

赞一个1111111111111111111111

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top