您的位置:首页 > 移动开发 > IOS开发

TI DSP/BIOS及CCS使用经验

2012-04-07 02:04 323 查看
TI DSP/BIOS及CCS使用经验发布时间:2010-10-11 11:15:49 

1.用CCS打开/创建工程时,工程存放的路径名中不能有中文!(不像VS6、ISE等可以使用任意路径名)

2.国产并口DSP仿真器有些是采用CPLD仿真代替SMC34C60(该芯片已停产),仿真功能不全,只能在并口的EEP模式下使用。原装的仿真器采用SMC34C60,可在SPP、EPP、EPP+ECP三种模式下使用。此外,国产并口DSP仿真器(如开发板之家生产的)除了并口要选择EPP模式外,还要将并口中断IRQ7设置成“保留”(Reserve),不能设置成PnP(Default)。

3.如果DSP的用户程序存放在外部Flash中,必须关电重新加电(即“冷启动”)才能加载(Boot)到DSP中运行,用人工复位(“热启动”)方法不起作用。

4.DSP/BIOS提供的标准模块中,每个模块的属性可在配置时修改参数(静态设定),也可在程序中(一般在main中)使用参数修改指令动态设置,例如周期模块PRD(假设用户新建的对象名为PRD0)的Period,参数,修改指令:PRD0.period=xxx;但有些参数是不能修改的,能修改的参数当用户在编辑状态下输入PRD0后,CCS会自动提示的。

5.CCS源程序编辑器缺省状态是“Insert”,即可插入/修改源代码,如果不小心按了“Insert”键,编辑器就进入“修改”状态,“Delete”、“Back Space”等键就不起作用了,必须再按一次“Insert”才能恢复。

6.使用DSP/BIOS配置工具定义变量和数组等,在源程序中必须使用“far”关键字来声明。far说明的变量存放在.far段,其它变量(全局静/态)则存放在.bss段,.bss段中变量存取速度比.far中的快些。

7.在DSP/BIOS配置工具中定义的函数名前必须加下划线“_”,因为配置工具生成的是汇编代码,而汇编代码中调用C函数就要求函数名家下划线。

1、DMA Config中用到的地址指针必须先在程序中定义好,并加"far"约束。

2、进入DSP/BIOS配置工具后,必须先将用到的所有指针变量在“CSL Extern Declaration”中定义好(右击“CSL Extern Declaration”,选“Insert”,右击变量名,

选“rename”,再选“Properties”,进入属性页进行修改)。

3、点击“DMA Configuration Manger”可插入dmacfg0~3,亦可对现有的dmacfg0~3进行修改,但要注意如下两点:

(1)Source/Destination中要设定源/目的地址的格式,如果是数字选“Numeric”,是指针变量则选“Extern Decl. Obj”,否则随后输入的地址无效。

(2)如果地址是指针变量,该变量必须是上述2中已定义的,否则输入、修改无效。

4、在“DMA Resource Manger”中DMA Channel 0~3的属性中将damcfg0~3与通道关联,反之,要删除某个dmacfg必须先取消其关联属性,否则无法删除("delete"是灰色的)。

5、启用DSP/BIOS后,DSP应用程序编译、连接后运行顺序如下:

   _C_int00();

   _BIOS_init();

   main();         //用户主程序入口,仅执行一次

   BIOS_start();

   IDL_loop();  //循环执行

这里有三点必须注意:

(1)用户主函数main()仅执行一次,不是循环执行。

(2)BIOS_start()中含有一些BIOS初始化工作,而main()又在它之前执行,因此某些DSP/BIOS API函数不能在main()中调用,如:在定时器启动前(有BIOS_start()完成),

在main()中不能调用CLK_gettime()。详细介绍参阅TI公司的DSP/BIOS API使用指南。

(3)如果用户程序某个函数需要循环执行,可将其家人IDL_loop()中,具体方法是:打开DSP/BIOS配置工具,展开“Scheduling”,右击“IDL_IDL Functoin MAnger”,

选择“Insert IDL”插入一个"IDL0",在其属性页中将函数名加入即可。注意函数名前加下划线"_"。如不需要循环执行了,将“IDL0”删除即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息