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

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

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

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

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

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

墨迹了半天,入主题

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

ps2选择bios ps2 50009 bios_DSP BIOS

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

ps2选择bios ps2 50009 bios_贴图_02

然后

ps2选择bios ps2 50009 bios_贴图_03

这个还是用有L的吧。

ps2选择bios ps2 50009 bios_ps2选择bios_04

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

然后可以一路NEXT到finish

编译一下,会发现报错,

ps2选择bios ps2 50009 bios_驱动开发_05

把这两个加上

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

然后当然是BUILD了

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

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

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

贴关键的

ps2选择bios ps2 50009 bios_DSP BIOS_06

注意这个选项,让你想用的有效就好了,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设置界面

ps2选择bios ps2 50009 bios_驱动开发_07

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

ps2选择bios ps2 50009 bios_DSP BIOS_08

我先用个大的。

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

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

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