- UID
- 83563
- 性别
- 男
|
TI DSP C54X使用经验
一点个人所得,拿来和大家交流交流,抛砖引玉而已。
1.电源:用tps73hd318,外部接法有参考电路,我没有接
电感,工作也正常,rst直接接到dsp的rst,但是需要100k
上拉电阻。
2.dsp的中断输入必须加上拉!
3.可以找到3.3v的sram,cy7c1021lv33之类的,就不用74fct245
之类的转换了。
4.dsp基本上的管脚都有内部的斯密特触发器以及上拉所以一般
外部接线直接接就可以了,不用再接驱动之类的东东.
5.hpi的使用:
如果只是简单的host与dsp的数据交换,那么这部分还是很简单
的,比如说通过pci接口交换数据,事实上就是将hpi的4个寄存器
映射到了pc可以访问的地址空间,然后就可以直接用驱动程序访
问dsp中的数据了.ti提供了例子是9054与c5409的16位模式的
hpi,经过实验,看起来较为不直接的hpi8位模式也非常好用,只要
参照文档设计就可以了.
6.程序开发:
ccs非常好用,参照tutorial下面例子走一边流程就可以用c写程序
了,当然,用汇编要烦一些,主要就是一些记忆性的东西,难度上没有
什么,新手会碰到一些这样那样的问题,但是都是一些设置上的问题,
遇到问题不要着急,自己反复试验一下,
7.bootloder
程序的固化是个大问题,好像精华区里面讲得也不是很透.
只好自己做实验的说.
我在板子上面做的只有hpi与flash的boot模式,这也是最让我
后悔的一件事情.同志们,下次画板子的时候一定不要懒惰,至
少将串行eeprom也给接上去.多一个选择的说.
hpi的boot方式已经成功.参照5402的bootlode特性一文做(见ti网站).
觉得这片文档一些地方写得不清楚,强调如下:
bootloder
1.从hpi开始;
2.recheck从eeprom的启动方式开始;
3.选定了bootloder方式以后,流程如下:
(8位模式下面必须高位数据在前,不同的
bootloder方式启动是的输入内容有所不同)
4.boot table的格式对于所有的启动方式都是
一致的,但是hpi不必要,因为hpi是将代码直
接lode进去的.
5.hpi bootlode的具体过程
1).将0x007f置为0,作为软件标志位,表明
什么时候hpi bootlode已经完成.然后
将hint置为低,然后检查ifr中int2的标
志位是否有效,如果是,进入hpi boot
模式。
最简单的办法是将hint与int2接到一起。
一旦程序已经将代码lode进去,那么必
须将程序的入口地址载入到0x007f中去。
0x007f中包括pc的低16位。
hint在reset的时候为高,一旦为低就一
直保持。(这儿是关键,以前我一直试验
通不过,后来发现必须在下载数据前将hpic
的hint位置为高,这一点文档中间没有强调)
假如要用flash方式,同时又假如你有动态存储数据的
需要,那你就和我一样很不幸了,必须研究用程序来烧写
flash.这个我也正在研究的说.
再添一句,如何生成并行下载的bootlode的文件,
注意,闻亭提供的软件的版本才1.1我以前一直没有注意到这点
导致用hex500怎么也生成不了10aa开头的文件,
后来才发现必须要1.2版本一上才可以,faint!
还有,在编译的时候加上选项 -v548.
最后罗嗦一句,大家总是问某个资料那儿有之类的问题,
其实你www.ti.com.cn申请光盘,
最有用的一分是dsp solution那张.
也可以电话里面定的 |
|