企业 个人 用户名 密码   忘记密码?
站内 站外
风格设定:
论坛 博客 会展
论坛 博客 会展
 
排序顺序:
时间排序 人气排序 大小排序
类型 标题 发表日期 作者 大小 语言类型
[入门教程] TI&SEED C2000电机控制教程 2008-06-12 gump 3917.69KB 中文
    TI&SEED C2000电机控制教程 电机控制的数字化趋势,TMS320C2000系列处理器在马达控制系统中的优势 电机控制系统的系统多样化需求 电机控制系统的控制方法等……. 
[入门教程] rcu控制16路伺服马达控制板教程 2008-06-12 gump 4035.29KB 中文
    rcu控制16路伺服马达控制板教程. 
[设计指南] xilinx 下载线 原理图、pcb板 2008-06-05 gump 30.23KB 中文
    xilinx 下载线 原理图、pcb板(PROTEL 99SE文件).rar. 
[芯片手册] DSP56303 2008-05-30 gump 1898.84KB 中文
    DSP56303. 
[芯片手册] DSP56301DS 2008-05-30 gump 2284.81KB 中文
    DSP56301DS. 
[开发工具] VisualDSP++工具介绍(全文) 2008-05-30 gump 125.03KB 中文
    VisualDSP++工具介绍(全文). 
[参考方案] H.264在高速DSP平台上的实现与优 2008-05-30 gump 144.21KB 中文
    H.264在高速DSP平台上的实现与优化. 
[实用程序] 优化的 H.264 编码器及测试程序 2008-05-30 gump 504.73KB 中文
    H.264以其优异的性能逐渐取代了MPEG4,成为视频压缩编码的趋势与主流。x264 是全球公认最优秀的H.264开源编码器,本人在 x264 的基础上针对实时性进行了大量细致的优化,速度提高到原来的三倍。特别适合对实时性要求较高的领域,如:视频会议、视频聊天、视频监控等。. 
[入门教程] 数字视频通信的压缩编码与传输技术教程 2008-05-30 gump 9.62KB 中文
    数字视频通信的压缩编码与传输技术教程. 
[参考方案] 基于Freescale 嵌入式处理器M 2008-05-30 gump 709.12KB 中文
    基于Freescale 嵌入式处理器MC9S12E128的网络摄像机设计. 
[参考方案] 基于ADSP-BF561的数字摄像系统 2008-05-30 gump 113.40KB 中文
    基于ADSP-BF561的数字摄像系统设计. 
[设计指南] H.264三大开源编码器之评测报告 2008-05-30 gump 606.76KB 中文
    H.264三大开源编码器之评测报告. 
[芯片手册] h264_cabac 资料下载 2008-05-30 gump 9.77KB 中文
    h264_cabac 资料下载. 
[参考方案] ADIDSP编程时程序相互调用说明及例 2008-05-30 gump 5.32KB 中文
    ADI_DSP编程时程序相互调用说明及例程 下面所陈述的程序之间的调用是基于TigerSharc101处理器,在VisualDSP++3.0上调试通过验证,由于时间仓促,难免有错误。 * VDSP上编程可以使用标准C语言,也可以使用汇编语言。所以,程序之间的调用共分为4种: * C语言调用C语言子程序 * C语言调用汇编语言子程序 * 汇编语言调用汇编语言子程序 * 汇编语言调用C语言子程序 * 下面详细说明4中调用方法 * 一:C语言调用C语言子程序 * 这种调用方法最简单,和标准C语言调用一样。声明函数之后便可以调用 * 例程:Func调用SubCFunc * * void SubCFunc(int *BuffAddr, int N); * void Func(void) * { * int *BuffAddr; * int N; * SunCFunc(BuffAddr, N); * Return; * } * * void SubCFunc(int *BuffAddr, int N) * { * return; * } * * * 二:C语言调用汇编语言子程序 * 这种调用方法最常用。首先要在C语言程序中用extern声明汇编子函数,在汇编子函数中要用 * .global _SunAsmFunc;,这样便可以调用汇编子程序了 * 2.1 声明: * C语言中声明用 extern void SubAsmFunc(int *BuffAddr, int N); * 汇编语言中声明 .global _SubAsmFunc; * 2.2 参数传递 * C语言的参数传递到汇编语言中, * 地址和整数依次分别用j4, j5, j6, j7传递 * 浮点数依次分别用xr4,xr5, xr6, xr7 传递 * 汇编函数的返回值: * 浮点值放在xr8中 * 整型值放在j8中 * 多于4个参数的传递则要借助堆栈传递数据。 * 2.3 例程: * C语言函数: * extern int SubAsmFunc(int *BuffAddr, float x, int N) * void CFunc(void) * { * int *BuffAddr; * float x; * int N; * SubAsmFunc(BuffAddr, x, N); * return; * } * * 汇编子程序 * .section program; * .global _SubAsmFunc; * _SubAsmFunc: * //j4存放BufferAddr地址 * //xr5存放浮点数x * //j6存放N * //j8返回值存放地址,如果是浮点数则放在xr8中 * _SunAsmFunc.end * .align_code 4; * cjmp(np)(abs);nop;nop;nop;; * * 三: 汇编程序调用汇编子程序 * 汇编程序调用汇编子程序时,首先要进行堆栈保护,每进一层子函数都要进行堆栈保护 * 在实模式下,堆栈保护使用j26,j27, k26,k27寄存器,编程时不要使用j27:24, 和k27:24 * 寄存器,另外j31和k31寄存器也不可以使用,如果要使用必须把这些寄存器的值做保护。 * 3.1 函数调用声明 * 汇编主程序中声明: .extern _SubAsmFunc; * 汇编子程序中声明: .global _SubAsmFunc; * 3.2 参数传递 * 参数传递遵循C语言调用汇编语言规则,但是要在汇编主程序中手动给寄存器赋值 * 3.3 堆栈保护 * 进入一个子程序就要进行堆栈保护,堆栈保护一般定义一个宏来实现,在例程中会 * 详细介绍如何进行堆栈保护。 * 3.4 例程 * 汇编语言调用汇编语言例程,此例程具有通用性,可多层调用,例如可以用C语言调用 * 汇编主程序,再用汇编主程序调用汇编子程序,然后再逐层返回。 * 汇编语言主程序 * #ifndef mENTER * #define mENTER * j26 = j27 - 0x40; k26 = k27 - 0x40;; * [j27+=0xFFFFFFF4] = cjmp; k27 = k27 - 0x4;; * #define mRETRUN * cjmp = [j26+0x40];; * cjmp(np)(abs); j27:24 = q[j26+0x44]; k27:26 = q[k26+0x44];; * #endif * .extern _SubAsmFunc; * .section program; * .global _AsmFunc; * _AsmFunc: * mENTER;; * //汇编主程序接收参数传递 * .......... * .......... * //汇编主程序调用汇编子程序 * .align_code 4; * if true, call _SubAsmFunc; q[j27+4] = j27:24; q[k27+4] = k27:24;; * //接收返回值 * .......... * mRETURN;; * _AsmFunc.end: * * 汇编语言子程序 * .section program; * .global _SubAsmFunc; * _SubAsmFunc: * mENTER;; * //参数传递 * .......... * mRETURN;; * _SubAsmFunc.end: * * 四:汇编程序调用C语言子程序 * 汇编程序调用C语言子程序前要把必要的积存器进行保护,经常保护的寄存器为 * j27:24, k27:24, * j7:j4, xr7:xr4(如果在继续运行的汇编语言程序中不再使用此寄存器则可以不理会它) * 汇编语言调用C语言子程序有两种形式 * 4.1 汇编语言调用自定义C语言子程序 * 4.1.1 声明 * 汇编语言主程序声明: .extern _SubCFunc; * C语言子程序声明: 可以声明,也可以不声明,如果有别的C程序调用此函数 * 则在别的函数中声明即可 * 4.1.2 参数传递 * 参数传递规则同 C语言调用汇编子程序 * j4,j5,j6,j7传递整型参数 * xr4,xr5,xr6,xr7传递浮点参数 * j8返回整型值, * xr8返回浮点值 * 4.1.3 堆栈保护 * 调用子程序前要先保护 j27:24和k27:24 * 4.2 汇编语言调用VDSP库函数子程序 * 4.2.1 声明 * 汇编语言主程序声明: .extern __cosf; //库函数一般用双下划线 C 语言主控程序中要包含 math.h头文件 * 4.2.2 参数传递 * 参数传递同上 * 4.3 例程 * 汇编语言调用自定义C语言子程序和库函数例程 * * 主控程序及C语言子程序 * #include * extern int AsmFunc(float a, float b, int N); * * void main(void) * { * int i; * int value; * float a,b; * int N; * N = 16; * a = 10; * b = 20.5; * value = AsmFunc(a, b, N); * while(1) * { * i++; * } * return; * } * //C语言子程序,实现加法 * int SubCFunc(float a, float b, int N) * { * int result; * result = a + b; * return result; * } * * //汇编语言程序 * #ifndef mENTER * * #define mENTER * j26 = j27 - 0x40; k26 = k27 - 0x40;; * [j27 += 0xFFFFFFF4] = cJMP; k27 = k27 - 0x04;; * #define mRETURN * cjmp = [j26 + 0x40];; * cjmp(ABS)(NP); j27:24 = Q[j26 + 0x44]; k27:24 = Q[k26 + 0x44];; * * #endif * * .extern _SubCFunc; * .extern __cosf; * .section program; * .global _AsmFunc; * _AsmFunc: * mENTER;; * //接收参数并处理 * ................ * //给调用SubCFunc准备参数 * //xr4 = a;; * //xr5 = b;; * //j6 = N;; * .align_code 4; * if true, call _SubCFunc; q[j27+4] = j27:24; q[k27+4] = k27:24;; * //接收返回值 保存j8 * * //给调用cosf准备参数 * //xr4 = 0.5;; * .align_code 4; * if true, call __cosf; q[j27+4] = j27:24; q[k27+4] = k27:24;; * //接收返回值xr8 * * //汇编程序返回值处理 * .................. * mRETURN;; * _AsmFunc.end: * . 
[开发工具] Blackfin EZ-KIT Lit 2008-05-30 gump 13050.94KB 中文
    Blackfin EZ-KIT Lite设计库. 
[芯片手册] TriMedia的PNX1502 2008-05-30 gump 3895.16KB 中文
    TriMedia的PNX1502. 
[芯片手册] PNX1500 2008-05-30 gump 3895.16KB 中文
    PNX1500. 
[芯片手册] ADSP-BF561 2008-05-30 gump 508.62KB 中文
    ADSP-BF561. 
[芯片手册] ICS512MIT 2008-05-30 gump 46.54KB 中文
    ICS512MIT. 
[芯片手册] ADSP-BF533 2008-05-30 gump 671.99KB 中文
    ADSP-BF533. 
[入门教程] 用C-sharp进行视频监控系统开发的 2008-05-30 gump 120.35KB 中文
    用C-sharp进行视频监控系统开发的演示程序. 
[入门教程] 视频监控系统教程 2008-05-30 gump 18.83KB 中文
    视频监控系统教程. 
[入门教程] 视频编码芯片的设计方法 2008-05-30 gump 213.93KB 中文
    视频编码芯片的设计方法. 
[入门教程] TMS320DM642中文教程 2008-05-30 gump 6540.02KB 中文
    TMS320DM642中文教程. 
共276条 8/12 |‹ « 3 4 5 6 7 8 9 10 11 12 »   
  
 
默认分类列表
· 参考方案 · 设计指南
· 实用程序 · 开发工具
· 芯片手册 · 入门教程
· 常用工具 · 其他
 
  站内 站外
  Copyright(C)2008 Electronic Design & Application World All rights reserved.  《电子设计应用》杂志社 版权所有
联系电话:(86)10-66421136 66421836 66423836   传真:(86)10-66423936   京ICP备05012822号