DSP
chuanshaoke
这个作者很懒,什么都没留下…
展开
-
什么是字节对齐,为什么要对齐?
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据转载 2012-07-07 14:05:40 · 1676 阅读 · 0 评论 -
DSP/BIOS实时操作系统介绍
DSP/BIOS实时操作系统介绍DSP/BIOS是一个简易的嵌入式操作系统,主要是为需要实时调度、同步以及主机-目标系统通讯和实时监测的应用而设计的。DSP/BIOS集成在CCS中,不需要额外的费用,但不提供源码,它是 TI公司倡导的 eXpressDSP 技术的重要组成部分。 DSP/BIOS本身只占用很少的资源,而且是可裁减的,它只把直接或间接调用的模块和API转载 2012-04-10 02:06:42 · 1423 阅读 · 0 评论 -
TI DSP/BIOS及CCS使用经验
TI DSP/BIOS及CCS使用经验发布时间:2010-10-11 11:15:49 1.用CCS打开/创建工程时,工程存放的路径名中不能有中文!(不像VS6、ISE等可以使用任意路径名)2.国产并口DSP仿真器有些是采用CPLD仿真代替SMC34C60(该芯片已停产),仿真功能不全,只能在并口的EEP模式下使用。原装的仿真器采用SMC34C60,可在SPP、EPP、EPP+EC转载 2012-04-07 02:04:14 · 2676 阅读 · 1 评论 -
用CCS开发DSP应用程序的代码结构、加电装载及在线编程
1、DSP应用程序代码结构,有三种:○ 纯汇编;○ 纯C语言;○ 汇编+C语言。这三种结构还可插入带CSL或不带CSL的DSP/BIOS API。为了加快应用程序的开发,现在的DSP程序一般都采用:汇编+C语言+带CSL的API。其中,汇编代码用于特殊要求,如Flash编程及对速度要求很高的关键部分;C语言则是整个应用程序主框架,但主要是运算处理部分;而与硬件打交道的工作全部由CS转载 2012-04-07 02:06:37 · 657 阅读 · 0 评论 -
DSP学习的三个阶段
DSP学习的三个阶段 研究生期间断断续续做过TI DSP研究,从一个对嵌入式一点也没有了解的新手到快毕业时完成一个自认为满意的项目,其中走过很多弯路,现在把我对DSP学习的心得和一些参考文献列出来,可能对初学者具有帮助。 实验室用的是一款闻亭的DM642开发板,当时这款开发板还比较新,国内中文资料很少,而且闻亭但是的例子程序均是采用TI的原程序,不像合众达的例子程序容易转载 2012-03-20 11:47:13 · 416 阅读 · 0 评论 -
关于DSP多线程技术问题的认识
关于DSP多线程技术问题的认识为了让DSP能够同时处理多个任务,DSP/BIOS提供了如下几种类型的线程。HWI(硬件中断),SWI(软件中断),TSK(任务),IDL(空闲线程)。HWI其实就是中断服务。当硬件中断产生之后,DSP/BIOS就会调用相应的HWI函数。如果把HWI设置为Dispatch的话,则会在调用HWI函数的前后自动调用HWI_enter和HWI_exit。在HWI转载 2012-03-20 11:37:38 · 908 阅读 · 0 评论 -
多线程编程之重点--使用DSP/BIOS时选择线程类型的参考方法
多线程编程之重点--使用DSP/BIOS时选择线程类型的参考方法了解以下这些,对在DSP/BIOS上设计多线程应用程序就是轻而易举的事件。DSP/BIOS支持多种类型线程,每种类型线程且有不同执行及抢先点,下表列出了这些线程的一些特点。线程选择的一些原则对线程选择基于对下面这个问题的回答:在应用程序中,这个线程是否具有实时性(线程必须在严格的时间段内结束,以及不允许被抢转载 2012-03-20 13:20:55 · 433 阅读 · 0 评论 -
详解FlashBurn的hex文件烧写 seed 642
详解FlashBurn的hex文件烧写 实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写;二是通过开发商提供的专门软件工具+在线仿真器烧写;三是自己编程通过DSP烧写。个人使用的是合众达电子SEED-VPM642开发板,在最新版本例程中提供了专用的烧写软件SeedConvertTool.exe;但为了实现通用的FLASHBURN烧写,我进行了一些尝试以转载 2012-03-20 11:48:44 · 678 阅读 · 0 评论 -
千万别舍弃DSP/BIOS!!
大家都知道6000系列有个bios,可很多人不知道这东东咋用。说白了,他就是个嵌入式的操作系统,而且6000做东西离开他基本上是不可能的,哈哈!!!下面根据个人的理解对bios的应用做个简单的介绍,如果要想深入的的学习并灵活的应用,建议还是去ti网站去下有关这方面的资料,静下心来好好研究研究。不过个人认为TI提供的全是英文的,理解起来可能会有些困难(当然如果你鹰语超牛就不存在这问题了)转载 2012-04-07 10:42:34 · 673 阅读 · 0 评论 -
RTDX(实时数据交换)
RTDX(实时数据交换) RTDX提供了实时、连续了解目标系统程序运行情况的手段,它允许用户在不干扰目标系统程序运行的情况下,在主机和目标系统之间传送数据。目标系统与主机之间的RTDX实际上仍然是通过JTAG接口完成的,目标系统中的RDTX目标库和位于CCS中的RDTX主机库之间实时交换数据。 主机客户程序:运行在主机上利用COM接口项目表应用程序发送数据或者从目标应用程序转载 2012-04-07 00:59:38 · 2072 阅读 · 1 评论 -
CCS中如何查看工程文件的信息
CCS中如何查看工程文件的信息(2012-02-12 15:06:36)转载▼标签:杂谈 从外部拷来的程序,在自己的机子上面运行经常会遇到各种各样的问题;那么多少知道一点工程的信息是不是会有帮助呢?如何查看CCS中的工程文件信息,可以选中。PJT后缀的文件,以记事本格式打开,这时候就可以看到工程的基本信息了,可以查看工程是库工程还转载 2012-04-07 00:41:01 · 2059 阅读 · 0 评论 -
DSP/BIOS的启动过程与编译过程
DSP/BIOS的启动顺序当DSP/BIOS的应用程序启动时,一般遵循下面的步骤:1) 初始化DSP:DSP/BIOS程序从C/C++环境入口c_int00开始运行。对于C6000平台,在c_int00开始处,系统栈指针(B15)和全局页指针(B14)被分别设置在堆栈断的末尾和.bss断的开始。控制寄存器AMR、IER、CSR等被初始化;2) 初始化.bss段:当堆栈被设置完成后,初始转载 2012-04-07 00:23:27 · 1554 阅读 · 1 评论 -
TMS320C6000 DSP的混合编程研究
TMS320C6000 DSP的混合编程研究分类: DSP 2010-03-10 16:27 293人阅读 评论(0)收藏 举报TMS320C6xxx公共指令集: 读取/存储类指令、算术运算类指令、逻辑与位运算类指令、搬移、跳转(程序转移)及空操作类指令等6种。 由于C6000汇编语言的每一条指令只能在一定的功能单元执行,因此就形转载 2012-05-08 10:30:54 · 539 阅读 · 0 评论 -
TMS320DM642 EDMA非连续工作简单程序
分类: DSP 2010-01-05 16:10 92人阅读 评论(0)收藏 举报#include #include #include #include #include #define SRC_ADDRR 0x80000000#define DST_ADDRR 0x80001000#define WIDTH 6#define HEIGH转载 2012-05-08 14:31:17 · 471 阅读 · 0 评论 -
dsp cache优化(转载)
dsp cache优化(转载)2010年07月27日 星期二 12:22转载自 8kone8最终编辑 zcug_071以前我自己编写过乒乓结构的程序,后来查资料的时候发现乒乓结构还是很普遍的用法,但是我是初学者,其实编程优化方面,只是做过手工的软件流水,对于硬件的深入了解还远远不够,对CACHE的程序级优化还有待提高下面是今天学习的一些摘录,我相信对我今后一定有很大转载 2012-07-06 17:07:52 · 1446 阅读 · 0 评论 -
DSP优化,通用的调整性能的策略
DSP优化,通用的调整性能的策略http://blog.csdn.net/henhen2002/article/details/45629931 通用的调整性能的策略1.1 选择恰当的编译器选项必须要用的选项 –O[2|3] 可以使用-mt(要确保写的数据和读的数据在内存空间上没有重合) -mh Specify speculative load byte转载 2012-07-07 14:04:54 · 494 阅读 · 0 评论 -
TMS320C64x+ DSP-----Cache 优化(转)
TMS320C64x+ DSP-----Cache 优化(转)2010年07月27日 星期二 12:22转载自 8kone8最终编辑 zcug_071一、cache性能特点 优异的cache性能很大程度上依赖于cache lines的重复使用,优化的最主要目标也在于此,一般通过恰当的数据和代码内存布置,以及调整CPU的内存访问顺序来达到此目的。由此,应该熟悉c转载 2012-07-06 17:06:27 · 753 阅读 · 0 评论 -
堆内存和栈内存详解
堆内存和栈内存详解2010年06月06日 星期日 8:45堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放转载 2012-07-06 17:10:04 · 543 阅读 · 0 评论 -
CCS中时间统计方法(profile)
CCS中时间统计方法(profile)http://blog.csdn.net/henhen2002/article/details/4552751我们以实例来介绍在CCS里如何统计程序的运行时间,内容修改自CCS的教程,程序见后面:我们将使用CCS的profiling功能来统计标准puts()函数的执行情况。1. 选择File→Reload Program。2.转载 2012-07-07 14:11:40 · 597 阅读 · 0 评论 -
DSP的CMD文件
DSP的CMD文件2010年05月12日 星期三 22:04DSP的CMD文件(2007-12-13 21:33:21) 分类:DSP DSP的存储器的地址范围,CMD是主要是根据那个来编的。CMD 它是用来分配rom和ram空间用的,告诉链接程序怎样计算地址和分配空间.所以不同的芯片就有不同大小的rom和ram.放用户程序的地方也不尽相同.所以要根据转载 2012-07-06 17:12:37 · 956 阅读 · 1 评论 -
基于TMS320C62X DSP的混合编程研究
基于TMS320C62X DSP的混合编程研究2010年08月30日 星期一 18:56TMS320C62X是美国德州仪器公司(TI)的新一代高性能定点数字信号处理器(DSP)芯片。基于DSP的软件设计问题,就是采用编程语言进行算法 实现并使程序效率尽量满足实时性要求。TI DSP的软件设计可以采用汇编语言、高级语言(C/C++)以及C语言与汇编语言的混合编程。完全采用汇编语言编程复杂性高转载 2012-07-06 17:04:23 · 1367 阅读 · 0 评论 -
CCS 4.0 利用profile测试函数运行时间
CCS 4.0 利用profile测试函数运行时间http://hi.baidu.com/billy_forever/item/b8c1c274310b8b2ed7a89ca8 在进行DSP开发时,代码编写完成后,如果时间不满足要求,则必须对代码进行优化,以更加适应DSP环境 。而在进行优化时,我们可以先测算每个函数的运行时间,从中到耗时较多的函数进行优化。CC转载 2012-06-21 10:29:41 · 1333 阅读 · 0 评论 -
[DSP(TI)]dm642的优化
[DSP(TI)]dm642的优化分类: DSP 2010-03-04 16:23 301人阅读 评论(0)收藏 举报工作阶段: 工作流程一般分为三个阶段。 阶段一:直接按照需要用C语言实现功能。在实际的DSP应用中,许多算法都是非常复杂,直接用汇编代码编写,虽然优化效率很高,可是实现的难度却很大,所以一般都采用先用C语言来实现,然后编译运行,转载 2012-05-08 10:33:15 · 500 阅读 · 0 评论 -
汇编代码阅读
汇编代码阅读分类: DSP 2010-03-12 16:57 180人阅读 评论(0)收藏 举报C语言函数:void Image_TransAffine(unsigned char *DstData,const unsigned char *pSrcData,const int *pCoef,int iWidth,int iHeight,int iDstPi转载 2012-05-08 10:30:01 · 714 阅读 · 0 评论 -
C++ 直方图匹配算法代码
C++ 直方图匹配算法代码分类: VC++ 数字图像处理2009-10-12 08:17 1907人阅读 评论(3)收藏 举报////////////////////////////////////////////////////////////////////////////函数名称: histeq()//传入参数: // BYTE*dstDa转载 2012-05-08 14:34:19 · 651 阅读 · 0 评论 -
DSP/BIOS 工程结构
1 DSP/BIOS 工程结构 *一个普通的C 工程通常包含若干源程序文件(.c、.asm)文件和头文件(.h),通过编译形成模块文件(.obj)并同运行库文件连接最终产生可执行程序(.out)。工程文件(.pjt)描述源文件如何装配在一起,连接控制文件(.cmd)定义应用模块和库文件的连接和在内存中的位置等。 *DSP/BIOS 定义了一个新类型的文件—DSP/BIOS 配置文件转载 2012-04-07 16:32:31 · 701 阅读 · 0 评论 -
CCS编译链接库文件与头文件
CCS编译链接库文件与头文件编译的include文件目录Compiler -》 Preprocessor-》include searchpath //include文件搜索路径$(Proj_dir); //注释:工程所在文件同级目录下 ../../include;转载 2012-04-07 00:51:59 · 811 阅读 · 0 评论 -
常用串口调试工具比较
常用串口调试工具比较 发布时间:2010-10-12 23:22:46 在PC机上,目前有许多免费的串口调试工具,比较常用的有:1、串口调试助手(V2.2)优点:使用方便,用户群最多,有书介绍及免费源代码。缺点:(1)因采用多线程接收技术,接收有时丢数,特别在高波特率或使用USB转串口时丢数较多。 (2)最大只支持115.2K波特率。转载 2012-04-07 02:10:53 · 3298 阅读 · 0 评论 -
DSP/BIOS入门
DSP/BIOS入门 1 DSP/BIOS简介DSP/BIOS是CCS中集成的一个简易的嵌入式实时操作系统,能够大大方便用户编写多任务应用程序。DSP/BIOS拥有很多实时嵌入式操作系统的功能,如任务的调度,任务间的同步和通信,内存管理,实时时钟管理,中断服务管理等。有了它,用户可以编写复杂的多线程程序,并且会占用更少的CPU和内存资源。DSP/BIOS是一个可用于实转载 2012-03-30 10:17:54 · 325 阅读 · 0 评论 -
DM642启动过程分析
供所有C6000系列DSP开发者参考。【TI关于C6000 bootloader 文档】DM642复位后,芯片先从CE1空间读取1K字节的数据到内部SRAM,然后从地址0开始运行。因为一般的程序都远远大于1K字节,所以一般都是有一个二级bootloader,用它来加载主程序。Bootloader运行完后调用c_int00()来进行C运行时刻初始化,如堆栈,静态变量等,之后会调用BIOS_i转载 2012-04-01 11:41:43 · 548 阅读 · 1 评论 -
DSP优化,通用的调整性能的策略
1 通用的调整性能的策略1.1 选择恰当的编译器选项必须要用的选项 –O[2|3] 可以使用-mt(要确保写的数据和读的数据在内存空间上没有重合) -mh Specify speculative load byte count threshold 如果源代码里含有永远不会执行的代码,使用选项-mo Place each function in a separate subsect转载 2012-04-01 11:40:20 · 365 阅读 · 0 评论 -
dm642的flash烧写flashburn心得
DM642有多种启动方式:PCIboot, HPI boot, EMIF boot, NO boot;可以设置BOOT开关来设置而较为复杂的就是EMIF boot, 因此该文将描述如何实现从EMIF的8-bit flash启动。该话题包含两方面的内容:1 如何设计应用程序,使其能够从flash启动2 如何把应用程序烧写到flash里面 配置应用程序DM642如果是配置为转载 2012-04-01 11:22:57 · 2249 阅读 · 0 评论 -
C6000软件优化经验总结
DSP 优化心得 1推荐C6XX优化经验总结一、c6x的编译的常用选项(一)c6x的编译程序为“cl6x.exe”使用的方法Cl6x [options] [filenames]Cl6x: 编译程序Options: 编译选项Filenames: C或汇编源文件说明:编译选项是一个字母或者两个字母,对大小写不敏感。编译选项的转载 2012-04-01 11:07:30 · 420 阅读 · 0 评论 -
通过CCS烧写FLASH的方法
求助:FLASH的烧写工具在CCS中无法显示!答: 步骤:右击CCS2图标-----属性----查找目标---找到一个comp_mgr的文件(就是CCS图标类似,但是头上有个喇叭的)双击打开----Texas Instruments----把那个加号打开,在ON-chip flash programme,前面选中就好了 通过CCS烧写FLASH的方法TI公司提供了一个烧写FLA转载 2012-04-01 10:50:11 · 1753 阅读 · 0 评论 -
在TI DSP开发板中烧写Flash程序
实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写;二是通过开发商提供的专门软件工具+在线仿真器烧写;三是自己编程通过DSP烧写。个人使用的是合众达电子SEED-VPM642开发板,在最新版本例程中提供了专用的烧写软件SeedConvertTool.exe;但为了实现通用的FLASHBURN烧写,我进行了一些尝试以便了解程序烧录过程及运行情况。 实现Bootloader自转载 2012-04-01 10:48:51 · 3266 阅读 · 1 评论 -
TMS320C64x+ DSP------Using Cache
一、配置cache>配置L1 Cache: CACHE_L1pSetSize(); CACHE_L1dSetSize(); >配置L2 cache: 启动时默认状态下L2 cache被disabled, 全部L2为SRAM。如果启用了DSP/BIOS,则L2 cache被自动使能;否则,可以通过调用CSL命令:C转载 2012-04-01 10:43:44 · 500 阅读 · 0 评论 -
DSP/BIOS与main()函数关系
随着多线程技术的发展,原来委以重任的main()函数也逐渐的退化和冷落,现在变成了名不副实的“主函数”。在DSP/BIOS中也同样存在这样的问题,然而main()函数的作用依然不可忽略,其与DSP/BIOS的API函数的调用上存在一定的先后关系。 在DSP/BIOS应用程序中,main()函数用于实现用户的初始化操作,片内/片外外设的配置,以及势能单独的硬件中断等,然而,main()转载 2012-04-01 10:30:21 · 398 阅读 · 1 评论 -
基于TI C6000系列DSP的C/C++程序优化技术
摘 要:在现代DSP的开发中,越来越多地采用C/c++作为开发语言,而C/C++程序的优化成为DSP’软件开发的重要环节。在此介绍TI C6000的软件开发流程,重点讨论C6000系列的C/C++程序优化技术,包括优化流程,C/C++代码优化方法,编写线形汇编代码优化方法等。为DSP的C/C++软件开发提供了全面的程序优化技术和方法,对实际系统的开发具有重要的现实意义。0 引 言转载 2012-03-14 15:51:00 · 1429 阅读 · 0 评论 -
学习 ARM 系列 -- FS2410 开发板上的中断编程
学习 ARM 系列 -- FS2410 开发板上的中断编程一、目的 中断服务程序在操作系统中无疑占有非常重要的地位,编写中断程序不仅要会运用底层的汇编语言,还要了解 ARM 的体系架构。那这一节我们就通过中断编程来响应 FS2410开发板上的 16 个按键,实现依次按下16个键时,D9~D12 四个 Led 从 0~15 进行计数,并通过上个实验实现的 uart_print转载 2012-03-31 10:30:39 · 422 阅读 · 0 评论 -
DSP/BIOS详解入门
百度百科DSPBIOS DSP/BIOS是TI公司特别为其TMS320C6000TM,TMS320C5000TM和TMS320C28xTM系列DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核,是TI公司的Code Composer StudioTM开发工具的组成部分之一。 DSP/BIOS 实时操作系统介绍 TI公司的DSP开发软件包括集成开发系统(CCS), 实时操作转载 2012-04-01 10:29:19 · 626 阅读 · 0 评论