Dsp软件移植

Dsp软件移植
1. 编译平台差异
x86&vc:long 32位;ccs&dm642:long 40位,占用的存储空间是按照64位来计算的;
vc&x86中定义了bool数据类型,占用8位;ccs7&dm642中没有,应该事先定义;
ccs&dsp/BOIS系统中也定义适用于不同应用场合的数据类型预定义,在std.h和csl-stdinc.h中定义
2. endian问题
dm642:管脚TOUT1/LENDIAN决定(1-littleEndian),在ccs中设置
x86默认为BigEndian,VC编译器的默认输出为BigEndian
3. 二进制库调用处理(.lib/.dll)
如果rts.lib中包含所要调用的函数,那就不用修改,否则要删除或者自己定义
4. 堆栈的处理
1) 系统堆栈:用语c环境的建立,系统的初始化,中断服务程序;
2) 任务堆栈:用于任务切换时上下问环境的保存/临时变量;
3) 系统的堆:用于内存的动态分配
1,2系统的稳定性测试中比较重要,3在算法移植过程中很重要,比较隐蔽
5. cpu的体系结构
dm642: 多流水线体系结构—超标量体系结构(8条)
P4: 单流水线体系结构
N=Fdm642*8*p/Fp,p是0~1之间的值,表示流水线利用率
6. 指令集
dm642: SIMD指令,特殊指令
P4: mmx,sse,sse2
7. 浮点运算
dm642是定点dsp,浮点运算要调用库函数来实现,很消耗时间
P4: 内部集成了浮点协处理器,只要简单设置就可以
8. TMS 320 DSP Algorithm Standard (XDAIS- 算法标准)
XDAIS- 算法标准是由TI公司制定并维护的,为实现算法能提供同一的接口而制定的一系列的规则和原则.按XDAIS实现的算法由如下点:1)程序结构清晰-资源和实现分离;2)便于系统级油画和算法资源的共享;3) 便于ti第三方的合作和系统的集成;等等
9. 图象/视频处理库(IMGLib)
IMGLib是一个经过深入优化(手工)的图象视频处理函数库,包括如下4大类共计32个函数,这对做图象压缩算法的开发人员非常有价值(可以直接 使用或根据应用稍加修改).而且它们都提供详细的实现源码.
Img64x.lib:所有函数的二进制代码;
Img64x.src: 所有函数的手工并行汇编实现源代码;
Img64x_sa.src: 所有函数的线形汇编实现代码;
Imag64x-c.src:所有函数的c实现代码;

基于TMS320DM642芯片H.264编码器的设计
1. DM642第二级cache的大小可以配置,芯片自动完成这两级之间数据一致性的维护.
2. Lagrangian技术: 公式:D+lamda*R
lamda=0.85*2^(QP-12)/3

你可能感兴趣的:(嵌入式系统设计,算法,h.264,algorithm,汇编,任务,编译器)