DSP技术培训资料_第1页
DSP技术培训资料_第2页
DSP技术培训资料_第3页
DSP技术培训资料_第4页
DSP技术培训资料_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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_

3、SECTIONDATA_ALIGNDATA_MEM_BANKDATA_SECTION.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段:为声明

4、为far的全局变量和静态变量保留.stack段:系统栈,用于函数调用参数传递和为局部变量分配空间.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,寄存器对有符号数和无符号数的表示方式

5、8位有符号S S.S X X X X X X X31 7 08位无符号0 0.X 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小端终结

6、(LITTLE ENDIAN)MS LSXEEEEEEEEEDDCCCBBBBBBBBBBAAAAAAABAAAAAAABBBBBBBBEEDDCCCBXEEEEEEE寄存器使用规范在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

7、 func3(int a, double b, float c, long long 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 A

8、DD SUB ADD2 SUB2 ADD4 SUB4 AVG2 AVGU4 SUBABS4 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 MPYHIR MPYLIR MYPSU4 MPYU4DOTP2 DOTPN2 DOTPNRSU2 DOTPRSU2 DOTPRSU4 DOTPU4在C中的用法-例子3)CCS使用简单的工程.lib简单的工程.out开发板附带的工程调试方法CCS中的调试-debug状态,为优化算法调试-最好在Windows下用VC CB等 优化调试->用仿真数据,看运行结果的正确性->实际运行,看结果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论