dsp技术培训资料

上传人:101****457 文档编号:100186529 上传时间:2019-09-22 格式:DOC 页数:8 大小:244KB
返回 下载 相关 举报
dsp技术培训资料_第1页
第1页 / 共8页
dsp技术培训资料_第2页
第2页 / 共8页
dsp技术培训资料_第3页
第3页 / 共8页
dsp技术培训资料_第4页
第4页 / 共8页
dsp技术培训资料_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《dsp技术培训资料》由会员分享,可在线阅读,更多相关《dsp技术培训资料(8页珍藏版)》请在金锄头文库上搜索。

1、1)TI DSP综述DSP-数字信号处理器,安防行业用到的:2001年Philips TriMedia 1300-TriMedia 1700 - NXPTI Dm62002003年DM642(DM641,DM643)DM642()-DM648(DM647)Davinci:DM6446-DM6467-DM8127(DM8147/DM8168)DM6437-DMVA1-DMVA2DM355-DM365-DM368-DM385集成度是影响市场成败的关键因素(给我们产品开发的提示),因为集成度直接影响开发周期和产品成本,在集成度相当的情况下,功耗也很关键(稳定性是至关重要的)。开发工具也很重要(用户体

2、验很关键)。DM64x+构架寄存器(对)、计算单元、交叉通道、内存数据读取与存储、CACHE 结构指令结构.asm,DWORD,指令包,并行, 条件寄存器, intrinscis函数,指令延时Delay Slots软件流水线-运算单元相关A BCDEFABCDEFABCDEFABCDEFABCDEFABCDEFintrinscis函数ABS2 int _abs2(int src);DOTP2int _dotp2(int src1,int src2);2)C语言开发规则:标准C语言,支持部分C+预处理伪指令CODE_SECTIONDATA_ALIGNDATA_MEM_BANKDATA_SECTI

3、ON.MUST_ITERATE.STRUCT_ALIGN#pragma CODE_SECTION(fn,”my_sect”)Int fn(int x)return x;#pragma MUST_ITERATE(8,64,8)段-已初始化的段-.cinit段:包括变量初始值和常量值.const段:包括字符串文字、浮点常量和声明为 const的数据(没有同时声明volatile).switch段:switch语句跳转表.text段:包含所有可执行代码-未初始化的段-.bss段:为全局变量和静态变量保留.far段:为声明为far的全局变量和静态变量保留.stack段:系统栈,用于函数调用参数传递和为

4、局部变量分配空间.system段:为动态存储空间分配保留的存储区(malloc)C/C+系统栈默认0x400字节(1024)可通过-stack 重新指定大小-stack 0x2000动态存储器分配支持malloc calloc realloc动态分配存储区放在.system段中,默认大小为0x400。可通过-heap重新指定大小-heap 0x1000000 /* 16M系统内存 */数据类型int 和 long unsigned long不同long long和 double,寄存器对有符号数和无符号数的表示方式8位有符号S S.S X X X X X X X31 7 08位无符号0 0.X

5、 X X X X X X X31 7 016位的类似,有符号在15位以上是符号,否则是064位有整数,奇数寄存器的最高位是符号位,其他位包括偶数寄存器的所有为为数据位位域,压缩在一个字节中的多个对象,大小可从1bit到32bit不等,但不能超过32bitstructint A:7int B:10int C:3int D:2int E:9x;大端终结(BIG ENDIAN)MS LSAAAAAAABBBBBBBBBBCCCDDEEEEEEEEEXAAAAAAABBBBBBBBBBCCCDDEEEEEEEEEX小端终结(LITTLE ENDIAN)MS LSXEEEEEEEEEDDCCCBBBBB

6、BBBBBAAAAAAABAAAAAAABBBBBBBBEEDDCCCBXEEEEEEE寄存器使用规范在C/C+环境下,对寄存器的使用是有严格规范的,若要在C开发中嵌入汇编语言,就必须严格遵照这些规范int func1(int a, int b, int c);A4 A4 B4 A6int func2(int a, float b, int* c, struct A d,float e, int f, int g);A4 A4 B4 A6 B6 A8 B8 A10结构体实际传的是地址,并由被调用函数复制一份。int func3(int a, double b, float c, long lo

7、ng d);A4 A4 B5:B4 A6 B7:B6struct A func4(int a);A3 A4如果返回结构体,则使用A3保存结构体的指针在父函数调用子函数时,如果A0A9,B0B9,A16A31,B16B31这些寄存器的值还需要使用,则必须需要父函数把他们保存在栈中。B14-数据页指针B15-栈指针A15-帧指针,每帧128KB3-返回地址寄存器,如果被调用函数还要调用其他函数,则必须将其保存在栈A4或A5:A4返回值 不讲解汇编函数语法规则 SIMD指令介绍常用指令讲解加减类运算:ABS ABS2 ADD SUB ADD2 SUB2 ADD4 SUB4 AVG2 AVGU4 SU

8、BABS4 SADD SADD2 SADDUS2 SADDU4比较类运算:CMPEG2 CMPEG4 CMPGT2 CMPGTU4 MAX2 MAXU4 MIN2 MINU4位运算:BITC4 DEAL SHFL RTOL SHLMB SHRMB SHR2 SHRU2 XPND2 XPND4SSHVL SSHVR打包解包类运算:PACK2 PACKH2 PACKH4 PACKL4 PACKHL2 PACKLH2 SPACK2 SPACKU4 SWAP2 SWAP4 UNPKHU4 UNPKLU4乘法(点积)类运算:MPY MPYUS MPYSU MPYU .MPY2 MPYHI MPYLI M

9、PYHIR MPYLIR MYPSU4 MPYU4DOTP2 DOTPN2 DOTPNRSU2 DOTPRSU2 DOTPRSU4 DOTPU4在C中的用法-例子3)CCS使用简单的工程.lib简单的工程.out开发板附带的工程调试方法CCS中的调试-debug状态,为优化算法调试-最好在Windows下用VC CB等 优化调试-用仿真数据,看运行结果的正确性-实际运行,看结果的正确性性能调试-函数运行时间测试4、5)C语言优化与优化相关的预编译指令及优化选项#pragma MUST_ITERATE(8,64,8)restrictvolatile_nassertSIMD指令的应用几个实际的例子优化结果的查看微调算法流程6)内存优化CACHE L1D

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号