dsp c5509a bios USB 驱动调试中的坑

1,先声明,俺是个做软件的,抽风了想玩下DSP

最开始的想法是想让DSP和电脑连上首选了基于CSL,可看着看着书,看到居然有USB driver,于是开始在网上找USB driver,花了我好长时间终于还是在TI 的WIKI上找到了,免费可以下载的地方。

对一个对BIOS一无所知的小白来说。。。

看文档吧,找了本《TI DSPIOS用户手册与驱动开发》,看的迷迷糊糊。上面写的高大上,什么都能用像MFC一样加个头文件就能运行OK了。弄了个大概明白,就试试吧,结果,书上的设置用的是CCS V3.3,我用的是5.5,

N多的监视功能位置都不一样了。当时就成了,我是谁,我在那。。。。

终于在tools看到几个书上有的,应该就这了吧。

墨迹了半天,入主题

DDK1.1中例子在这个文件夹

dsp c5509a bios USB 驱动调试中的坑

先把驱动DEBUG 编译,方便调试代码。

dsp c5509a bios USB 驱动调试中的坑

然后

dsp c5509a bios USB 驱动调试中的坑

这个还是用有L的吧。

dsp c5509a bios USB 驱动调试中的坑

可以选上面那个,不过生成的路径就要重设置

然后可以一路NEXT到finish

编译一下,会发现报错,dsp c5509a bios USB 驱动调试中的坑

把这两个加上

BIOS也可以用其它版本,会意就好了。

然后当然是BUILD了

同上把APP文件夹里的ddk_1_11\apps\usb\evm5509做IMPORT,可以用SIO或者GIO的

最开始我选了高大上的SIO,出错,所以又选了GIO(结构上相对简单)好调试

导入工程后,又成了我是谁我在那。。。。。

贴关键的

dsp c5509a bios USB 驱动调试中的坑

注意这个选项,让你想用的有效就好了,GIO_USBTESTLCFG.TCF打不开,用没有L的看就好了,因为里面是

environment["config._55l_"] = true;

utils.importFile("gio_usbtestcfg.tcf");
 

同样的,要添加 CSL INCLUDE路径,还有DDK的路径,当然现在是个.OUT了,还要添加LIB文件。

这里要说下,USB驱动默认生成的是.l55l的扩展名,所以要选下*.*,就不贴图了

编译,然后,我看到了USB 1.1的USB设备。

故事到这还没完。这TEST的程序结构也不太好,自己建了个工程

新建了个TCF(BIOS文件)DEV等各种设置抄一下,然后。编译,运行。。

没看到新的USB设备啊。。。。又是找不到自己的感觉。

然后蒙B的我,在想为什么,设置都OK了,运行到GIO_create怎么就失败了哪?

硬着头皮看汇编吧,对比着GIO_CREA.C看到了MEM_calloc失败。

写了这么多年程序,写的程序出现内存申请失败的情况都是一支手数过来的,这他喵的我8K的 DARAM申请个几10字节

居然失败,崩溃。

知道了是内存问题,只好回归文档了,总算在MEM_alloc的文档中看到点东东,随手翻到的。。。

然后回到BIOS设置界面

dsp c5509a bios USB 驱动调试中的坑

选择可以动态分配内存后,确定退出,然后

dsp c5509a bios USB 驱动调试中的坑

我先用个大的。

再回到MEM的属性中,选成DARAM,保存,rebuild,然后运行,

USB来了,前后花了我一个多月的业余吃饭,喝酒时间。

高大上是有代价的啊。。。。