![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DSP
星之河
这个作者很懒,什么都没留下…
展开
-
写给TI 6000系列DSP初学者(原创)
前言 最近在hellodsp(http://www.hellodsp.com)申请了个版主,本来是要申请TMS320C6000版块的,不过这个版块已经有两位优秀的版主,我是做图像处理的,于是就锁定“语音视频处理”版块了,不过6000版块我还是会经常去,看到很多初学者在问一些入门的问题,有些提问题的同志对问题描述地也不够清楚,可能更多的是想提问题可不知道怎么提吧,我刚学DSP的时候转载 2013-09-04 20:01:59 · 8662 阅读 · 2 评论 -
Fvid对gio的封装
FVID模块为DSP/BIOS程序提供API函数,以实现帧图像的获取和显示。FVID模块提供的设备驱动API函数不同于其他的设备驱动,因为它掌握数据缓冲区的所有权,应用程序按需求来分配缓冲区。对于大多数的DSP/BIOS设备驱动,最初都是由应用程序来控制数据缓冲区,并传递这些缓冲区的地址到设备驱动以实现数据的输入输出。FVID模块和视频捕获显示驱动与此不同,是山设备驱动来直接控制数据缓冲区,这是因转载 2014-05-21 11:17:22 · 904 阅读 · 0 评论 -
[zz]C64x系列DSP/BIOS中设备驱动程序的设计2
3 微型驱动的设计和实现 类/微型驱动模型中的微型驱动直接控制外部设备。只要微型驱动创建了规定的函数,应用程序就可以方便地通过DIO适配模块、PIO适配模块或(和)GIO类驱动调用。这些规定的函数包括:通道绑定函数(md—BindDev)、通道创建/删除函数(mdCreateChan/md—DeleteChan)、I/O请求发送函数(mdSubmitChan)、中断服务函数(ISRs转载 2014-05-21 11:12:42 · 1017 阅读 · 0 评论 -
开发TI DSP需要知道的
三.DSP发展动态1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。C24x系列建议使用LF24xx系列替代C24x系列,LF24xx系列的价格比C24x便宜,性能高于C24x,而且LF24xxA具有加密功能。 C28x系列主要用于大存储设备管理,高性能的控制场合。 2.TMS320C3x TMS320C3x系列包括C3x和VC33,主要推荐使用VC33。C转载 2014-05-21 09:06:42 · 5692 阅读 · 1 评论 -
[zz]C64x系列DSP/BIOS中设备驱动程序的设计1
http://hi.baidu.com/dreadlord1984/item/e968b1f419a8b15ec9f337b1[zz]C64x系列DSP/BIOS中设备驱动程序的设计1为了高效地对外部设备进行控制,给硬件设备编写驱动程序是一种有效的解决方法。C64x系列的DSP系统提出了类/微型驱动模型的驱动程序结构。实践结果表明,采用类/微型驱动模转载 2014-05-21 11:11:56 · 1103 阅读 · 0 评论 -
关于TI DSP的EDMA
几天调下来,总感觉TI的文档语焉不详。不过想想也对,250页的文档是谁都要写到郁闷的。而且一个懂了的人给初学者讲东西总会自然的略过一些看似当然的关键。 这几天遇到的问题就是EDMA可以工作,却不能连续不断的转起来。而问题的所在就在于文档没读清楚。 文档(SPRU234,下同)在第一章的第一节的图1-2就给出了EDMA的控制块图。现在看到控制块图当然联想到实际的工作流程,但是转载 2014-05-21 10:43:47 · 2054 阅读 · 0 评论 -
c64xCache
1.3 位置规律 使用Cache是基于时间和空间两种规律,具体说就是CPU读取内存中的某一数据或指令很可能在下一时钟周期或很短的时间内会使用这一指令相邻的指令或数据(空间),有时候当前使用的指令或数据会重复使用(时间),所以CPU不仅将当前指令读进Cache,而且会将相邻指令一并读入,读入的大小取决于Cache的大小和Cache line的大小.1.5转载 2014-05-21 10:37:35 · 644 阅读 · 0 评论 -
DM642采集的图象存储方式
问题的提出:在DM642采集的图象存储时,象素以y,cb,cr存储,其每个值是怎么存放的,什么形式?问题的解决: YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。以dm642的H263loopbac转载 2014-05-20 08:57:10 · 1135 阅读 · 2 评论 -
DM642图像处理程序的主要结构
直接从图像处理这块进行学习不是特别适应,以前做单片机时由于单片机的片内资源不是特别多,所以对片内资源掌握的比较好,相关的寄存器配置等都是从底层自己配置,现在学习DSP反而不知道怎样从硬件入手了,只能从顶层向底层倒着来摸索。这是一个简单的图像处理程序,仔细看看,很多地方不懂,只能先了解大概,很多地方可能还没有认识到,在以后的学习中再接着摸索。在源程序的基础之上我加了一些注释,程序如下:转载 2014-05-20 08:51:47 · 894 阅读 · 0 评论 -
DM642有关摘抄
视频输入解码模块 视频输入解码模块由4个TVP5150型视频解码器及外围电路组成,主要功能是将每一路CCD摄像头采集输入的标准PAL制电视模拟信号发送到视频解码器,完成视频图像的箝位及抗混叠滤波等预处理,模拟数字化转及亮度/色度、水平/垂直同步等信号的分离,实现模拟视频信号转换为数字并行信号BT.656码流格式,TVP5150可将基带模拟NTSC、PAL及SECAM视频信号转换成数字分量视转载 2014-05-21 10:34:49 · 1368 阅读 · 0 评论 -
DSP中DSP/BIOS中SCOM详解
SCOM详解SCOM:Synchronized COMmunication module使用的时候要包含:#include 使用的类型和常数typedef struct SCOM_Attrs { /* SCOM object creation attributes */Char dummy; /* no转载 2014-05-22 09:14:01 · 1468 阅读 · 0 评论 -
合众达电子SEED_VPM642开发板调试及应用
1.SEED_VPM642开发板flash烧写问题以前做过DM642测试和算法在线调试,最近刚用上合众达开发板,但是现在要完成脱机系统采集显示和存储。在烧写光盘提供例程时没有问题(LED交替闪烁),但是在测试4路视频输出时能在线显示而不能烧写。看到网上有贴说在初始化时没有加延时0.5s,但是按照操作才发现加进去没效果。后来仔细分析,发现主要还是boot烧写的问题.解决有二步:转载 2014-05-30 10:26:58 · 2606 阅读 · 0 评论 -
不同型号和CCS版本的DSP程序Flash烧写总结
1、TMS320LF24xx, TMS320LF28xx: 利用CCS里面自带的flash burn插件,很容易烧写。 不必专门编程,只要输入.out文件即可。 2、TMS320C5x 需要自己手工编写BootLoader程序,和烧写flash的程序,有点麻烦。 利用CCS装载烧写flash的程序,运行之,写入flash中。3、TMS320C转载 2014-05-30 09:58:34 · 3770 阅读 · 0 评论 -
CCS3.3 GEL_Reset() 错误解决方法
GEL:Error while executing StartUp():A reset is not allowed at this time when calling the function GEL_Reset().解决方法: 由于ccs2.2和ccs3.3的启动连接方式不同,只需要如下改动即可!详情请查阅CCS2.2与CCS3.3的gel文件的区别。1.在Star转载 2014-05-29 15:57:14 · 3306 阅读 · 0 评论 -
DM642调试过程遇到的问题
1.Error: Memory Map Error: READ access by CPU to address 0x40000,which is RESERVED in Hardware.——The 6713 has 256K of memory.0x40000 = 256Kvalid addresses are 0 - 0x3FFFFexternal memor转载 2014-05-27 15:47:49 · 1221 阅读 · 0 评论 -
SEED-VPM642开发板IIC总线死锁解决办法(独家!)
问题现象:IIC程序一直停在while(I2C_bb(hI2C))或者while(!I2C_xrdy(hI2C))处问题原因:IIC总线工作状态不正确1、不正常关机或复位导致的IIC总线死锁(以此情况居多)2、上电时由于FLASH中没有程序,IIC总线容易被误操作,导致IIC总线上的设备被锁死。解决办法:1、将板卡的电源关闭,将仿真器USB线拔掉,重新上电。上电顺序是:转载 2014-05-26 09:09:16 · 1174 阅读 · 0 评论 -
DM642图像处理程序的主要结构
/********************************************************************//* 灰度图运行结果:在屏幕之中画出一块区域显示灰度图像 *//*************************************转载 2014-05-23 22:18:30 · 1192 阅读 · 0 评论 -
DM642 FVID驱动编写小结
DM642 FVID驱动编写小结TI公司为开发DSP的外设驱动程序,推出了DSP/BIOS Device Driver Kit(DDK),定义了标准的设备驱动模型,并提供了一系列的API接口。外设驱动程序分为两层:① 类驱动(class driver)。类驱动程序用来为应用程序提供接口。这部分程序与设备无关,主要功能包括维护设备数据缓冲区,向上提供API接口供应用层程序调用转载 2014-05-20 15:32:03 · 820 阅读 · 0 评论 -
SCOM详解-举例
SCOM详解-举例例子:定义:SCOM_Handle objSCOMINToDIS[NUM_SCOM_OBJS_IN][2];Ptr msgSCOMInToProc[NUM_SCOM_OBJS_IN];在main()函数中/*-------------------------------------------------------*//* create转载 2014-05-22 09:14:54 · 2545 阅读 · 0 评论 -
DSP调试心得
1、(1)、报错如下:------------------------- tam2012112701.pjt - Debug -------------------------[Linking...] "C:\CCStudio_v3.3\C2000\cgtools\bin\cl2000" -@"Debug.lkf">> 28335_RAM_lnk.cmd转载 2014-04-12 21:28:37 · 4206 阅读 · 0 评论 -
DSP28335中eCAN的开发过程
最近用了下DSP28335的CAN总线,也用了一些时间,其实CAN总线基本的原理我已经了解的差不多了,但配置28335的过程还是有一些问题产生的。1、关于TI例程。TI例程是可以用的。我用的是合众达的28335,他的例程也基本上和TI例程一样。我在调试的时候其例程是可以用的。但是要注意,他的例程只自测模式下的,我们在外部连接其他CAN节点时,要改成正常模式才能和其他节点通信。配置好正常模式就可原创 2014-04-10 15:54:44 · 9232 阅读 · 1 评论 -
TMS320F28335学习笔记-启动过程
1.DSP reset后运行的起始地址是多少?0x3FFFC02.仿真器烧写程序的步骤是?根据cmd文件把程序烧到指定位置,然后执行。3.DSP的Flash启动过程是什么?首先硬件配置GPIO84~87上拉为1,即处于Flash启动过程。当DSP复位后,会从复位向量0x3FFFC0处取得复位向量,并跳转到InitBoot处开始执行,InitBoot会读GPI转载 2014-03-28 09:40:02 · 2135 阅读 · 1 评论 -
DSP28335研发笔记
1.如何查看CCS5.2中包含的源文件有哪些?以及他们的位置?CCS5.2工程中C语言源文件有两部分组成,一部分是在project路径下的.c文件,另外一部分是通过连接添加到工程里的(.project文件中的字段)。因此CCS5.2中的源文件一部分在工程目录下,另外一部分在.project文件中的字段包含的路径下。2.CCS中GEL文件的作用是什么?ccs的gel语言是一种转载 2014-03-28 09:37:20 · 2469 阅读 · 0 评论 -
CCS工程中使用EMCV所需做的配置和修改(独家!)
1、从网上下载EMCV(嵌入式平台的OpenCV)程序包,在CCS下新建lib工程,使用EMCV程序包中的cv源文件和cxcore源文件分别编译生成库文件dm642_cv.lib和dm642_cxcore.lib,将这两个库文件添加到工程中,将C++编程所使用的库文件rts64plus.lib添加到工程中。2、在Build Option--Compiler--Preprocessor--I转载 2014-01-12 21:49:40 · 1051 阅读 · 0 评论 -
使用DSPBIOS的CCS工程设置(独家!)
1、创建DSP/BIOS配置文件,点击File→New→DSP/BIOS Configuration,选择DM642平台,进行相关配置,保存,编译。如果有错误,会无法打开图形化配置界面,需要在文本界面下将错误改正,编译无误后就可以重新打开。2、将DSP/BIOS配置文件dm642.tcf添加到工程中,dm642cfg.s62和dm642cfg_c.c文件会自动添加到工程中。3、将d转载 2014-01-12 21:40:18 · 1188 阅读 · 0 评论 -
DSP/BIOS知识点
一,概要1,DSP是一个尺寸可伸缩的实时内核。API函数模块化,只有那些被用到的API函数才会被绑定到可执行程序中。2,大部分API库函数通过汇编语言编写。3,DSP/BIOS中的对象有动态和静态两种生成方式。4,提供各种线程:硬件中断、软件中断、任务、空闲函数、周期函数。用户可控制进程优先级和阻塞特性。5,线程通信和同步方式:信号灯,邮箱,资源锁。6,转载 2013-12-24 09:29:03 · 1105 阅读 · 0 评论 -
DSP/BIOS实时操作系统介绍
DSP/BIOS是一个简易的嵌入式操作系统,主要是为需要实时调度、同步以及主机-目标系统通讯和实时监测的应用而设计的。DSP/BIOS集成在CCS中,不需要额外的费用,但不提供源码,它是 TI公司倡导的 eXpressDSP 技术的重要组成部分。 DSP/BIOS本身只占用很少的资源,而且是可裁减的,它只把直接或间接调用的模块和API连接到目标文件中,最多为6500字,因此在多数应转载 2013-12-24 09:30:07 · 2623 阅读 · 0 评论 -
DSP/BIOS
很多实时的 DSP 应用程序很可能会在同一时间执行多个看似不相关的任务。比如当外部数据变为有效或者出现控制信号时,对外部事件进行响应。这些任务都很重要,而且必须同时进行。 通常,我们将这些任务称为线程。不同的系统对线程进行了狭义或广义的定义。在 DSP/BIOS中采用广义的定义,即 DSP 执行的所有独立的指令流。一个线程是一个单独的控制点,它可能包含一个子程序、一个宏或者是一个函转载 2013-12-24 09:23:52 · 1040 阅读 · 0 评论 -
开发DSP/BIOS程序
本章通过使用DSP/BIOS优化第二章中的hello world实例介绍DSP/BIOS及如何创建、编译、调试和测试使用DSP/BIOS编写的程序。 基本要求:CCS的DSP/BIOS组件,目标板。3.1 创建配置文件 实现hello world程序的另一种方法是使用DSP/BIOS API的LOG模块,它能在嵌入式程序中提供基本运行服务。对于实时DSP上的应用而转载 2014-04-02 09:29:50 · 1705 阅读 · 0 评论 -
28335 pwm介绍
28335 pwm介绍一个ePWM module包括Time-base (TB) module,Counter-compare (CC) module,Action-qualifier (AQ) module,Dead-band (DB) module,PWM-chopper (PC) module,Event-trigger (ET) module,Trip-zone (TZ) module转载 2014-04-17 21:13:54 · 5956 阅读 · 0 评论 -
合众达DM642程序注释
/********************************************************************/ /* 灰度图 运行结果:在屏幕之中画出一块区域显示灰度图像 */ /*****************************转载 2014-05-15 11:47:38 · 1800 阅读 · 0 评论 -
DM642视频采集与回放 程序基本框架
void tskVideoLoopback(){ //设置显示的行数 numLinesDis = EVMDM642_vDisParamsChan.imgVSizeFld1; //设置采集的行数numLinesCap = EVMDM642_vCapParamsChan.fldYStop1 – EVMDM642_vCapParamsChan.fldYS转载 2014-04-20 21:51:06 · 1215 阅读 · 0 评论 -
DM642图像处理程序的主要结构
直接从图像处理这块进行学习不是特别适应,以前做单片机时由于单片机的片内资源不是特别多,所以对片内资源掌握的比较好,相关的寄存器配置等都是从底层自己配置,现在学习DSP反而不知道怎样从硬件入手了,只能从顶层向底层倒着来摸索。这是一个简单的图像处理程序,仔细看看,很多地方不懂,只能先了解大概,很多地方可能还没有认识到,在以后的学习中再接着摸索。在源程序的基础之上我加了一些注释,程序如下:/**转载 2014-04-20 21:49:46 · 1536 阅读 · 0 评论 -
DM642学习笔记(程序注释)
2010年11月初DM642学习笔记 用的是瑞泰创新的实验箱(ICETEK-DM642-IDK-M),主要是视频处理部分的程序注释及思考题思路及一些不成熟的见解~~ 实验5.6-5.19 视频驱动程序应用DM642视频驱动程序的注释:/* * Copyright 2003 by Texas Instruments Incorporated.转载 2014-04-20 21:58:02 · 2161 阅读 · 0 评论 -
DSP28335的初步应用之第一篇:程序设计步骤
对DSP进行开发时,需要对其底层的硬件及外设进行相应的配置,当配置完成后才可以将其相应模块激活,才可以在其内部进行程序编写及调试处理。下面对程序配置及操作进行简单的整理,仅供参考。第一步:初始化系统控制,PLL,看门狗,使能外设时钟等,一般调用函数InitSysCtrl();第二步:初始化GPIO,对于不同的硬件系统,进行不同的功能配置;第三步:清除所有的中断并初始化PIE中断向量表转载 2014-03-25 10:59:29 · 2536 阅读 · 0 评论 -
基础类的DSP/BIOS API调用
--本想在网上找找,但是没有找到,就自己写了----边看书边写的--希望能够给大家提供便利--- 基础类的DSP/BIOS API调用一、时钟管理CLK(1)Uns ncounts = CLK_countspms(void) 返回每毫秒的定时器高分辨率时钟的计数值(2)LgUns currtime = CLK_gethtime(void)转载 2014-04-02 17:19:09 · 1143 阅读 · 0 评论 -
DSP/BIOS与main()函数关系
随着多线程技术的发展,原来委以重任的main()函数也逐渐的退化和冷落,现在变成了名不副实的“主函数”。在DSP/BIOS中也同样存在这样的问题,然而main()函数的作用依然不可忽略,其与DSP/BIOS的API函数的调用上存在一定的先后关系。 在DSP/BIOS应用程序中,main()函数用于实现用户的初始化操作,片内/片外外设的配置,以及势能单独的硬件中断等,然而,main()转载 2014-04-02 21:58:34 · 1697 阅读 · 0 评论 -
DSP/BIOS的理解过程
DSP/BIOS的理解用了几天的时间,其中有一些问题花了好多时间才理解的,我个人认为理解DSP/BIOS的过程应该是以下几个方面:1、概念。通过DSP/BIOS的基本概念的理解我们可以知道它是一个可裁剪的嵌入式实时操作系统,一些其他的复杂的概念我们可以看一下,先看不懂也无所谓。2、转变。从原来的无限循环的main函数到现在的任务、中断等系统执行的转变的理解。我们通常的main函数是无限循环原创 2014-04-03 10:38:58 · 2279 阅读 · 0 评论 -
SEED-XDS560PLUS与CCS3.3安装时遇到的问题
安装CCS3.3和XDS560驱动后,设置芯片后一打开就出错,一开始不知道什么原因,后来偶然间醒悟了:我安装的CCS版本是3.3.81.6,而我安装的驱动是3.3.82,同时在SEED-XDS560PLUS安装后有一个USBorPCI程序要进行选择,这个我也选了3.3.82,与我安装的CCS的版本是不一致的,修改之后可以正常打开CCS了。原创 2014-03-24 20:44:14 · 4995 阅读 · 1 评论