再次问DSP仿真CCS的调试

再次问DSP仿真CCS的调试,第1张

不能改memory map 要改CMD啊 不知道你用的哪系的DSP 查下0x15C8 是内存里哪块的地址 cann’t access memory address 0x15C8 我一般ccs出现地址错误 除了CMD问题 就都是硬件有问题了,DSP哪里没接好 地啊之类的 因为DSP怕干扰 接上仿真器更是怕 不行查下硬件再

我学的是DSP2812,中断向量表我都是直接从范例工程中拷过来用,需要哪个中断就在哪个里面编写中断服务程序

编程的初始化程序这些都是拷过来做少量修改甚至不用修改,用就可以了,寄存器的配置一般都是拷过来修改值就行,运算逻辑程序需要用自己编。

你先看看范例程序,找找各范例程序的区别,你会发现很多都只需复杂过来组合上用就可以了。

以太网为例:数据包封装解析的程序都是有的,复制过来几乎不修改就可以用,以太网的范例程序里面的以太网寄存器初始化部分一般都是单独的子函数,你看懂了复制过来用就可以了。。。。

我用DSP做:eCAN、以太网、液晶显示、PWM这些都是这样做的,你看懂范例程序后找程序之间的区别就懂了。

不知道对你有帮助没,呵呵

dsp程序不接开发板在ccs2000中能运行。不接开发板在ccs2000中可以运行,但不能emulator。验证一些纯算法也可以,但基本意义也不大。还是要有仿真器和开发板才能有直观的效果。

我也不懂,以下是我搜集的,希望对你有帮助

DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:

(1)在一个指令周期内可完成一次乘法和一次加法;

(2)程序和数据空间分开,可以同时访问指令和数据;

(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;

(4)具有低开销或无开销循环及跳转的硬件支持;

(5)快速的中断处理和硬件I/O支持;

(6)具有在单周期内 *** 作的多个硬件地址产生器;

(7)可以并行执行多个 *** 作;

(8)支持流水线 *** 作,使取指、译码和执行等 *** 作可以重叠执行。

当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

单片机的应用领域 :

1 单片机在智能仪器仪表中的应用;

2 单片机在工业测控中的应用;

3 单片机在计算机网络和通讯技术中的应用;

4 单片机在日常生活及家电中的应用;

5 单片机在办公自动化方面。

DSP比单片机贵

你说的是其中的一部分知识,是DSP处理的信息的原理。

要向学习DSP的硬件开发,还要学习微机原理,由单片机系统的设计经验最好。

还有就是DSP的开发环境,也就是CCS,要掌握常用的编程语言,有汇编语言和C语言的编程经验最好

首先要了解DSP的特点。

数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。随着人们对实时信号处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。实时数字信号处理技术的核心和标志是数字信号处理器。自第一个微处理器问世以来,微处理器技术水平得到了十分迅速的提高,而快速傅立叶交换等实用算法的提出促进了专门实现数字信号处理的一类微处理器的分化和发展。数字信号处理有别于普通的科学计算与分析,它强调运算处理的实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上具有许多新的特征,其特点如下:

(1) 算术单元

具有硬件乘法器和多功能运算单元,硬件乘法器可以在单个指令周期内完成乘法 *** 作,这是DSP区别于通用的微处理器的一个重要标志。多功能运算单元可以完成加减、逻辑、移位、数据传送等 *** 作。新一代的DSP内部甚至还包含多个并行的运算单元。以提高其处理能力。

针对滤波、相关、矩阵运算等需要大量乘和累加运算的特点,DSP的算术单元的乘法器和加法器,可以在一个时钟周期内完成相乘、累加两个运算。近年出现的某些DSP如ADSP2106X、DSP96000系列DSP可以同时进行乘、加、减运算,大大加快了FFT的蝶形运算速度。

(2) 总线结构

传统的通用处理器采用统一的程序和数据空间、共享的程序和数据总线结构,即所谓的冯•诺依曼结构。DSP普遍采用了数据总线和程序总线分离的哈佛结构或者改进的哈佛结构,极大的提高了指令执行速度。片内的多套总线可以同时进行取指令和多个数据存取 *** 作,许多DSP片内嵌有DMA控制器,配合片内多总线结构,使数据块传送速度大大提高。

如TI公司的C6000系列的DSP采用改进的哈佛结构,内部有一套256位宽度的程序总线、两套32位的数据总线和一套32位的DMA总线。ADI公司的SHARC系列DSP采用超级哈佛结构(Super Harvared Architecture Computer),内部集成了三套总线,即程序存储器总线、数据存储器总线和输入输出总线。

(3) 专用寻址单元

DSP面向数据密集型应用,伴随着频繁的数据访问,数据地址的计算也需要大量时间。DSP内部配置了专用的寻址单元,用于地址的修改和更新,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址。地址的修改和更新与算术单元并行工作,不需要额外的时间。

DSP的地址产生器支持直接寻址、间接寻址 *** 作,大部分DSP还支持位反转寻址(用于FFT算法)和循环寻址(用于数字滤波算法)。

(4) 片内存储器

针对数字信号处理的数据密集运算的需要,DSP对程序和数据访问的时间要求很高,为了减小指令和数据的传送时间,许多DSP内部集成了高速程序存储器和数据存储器,以提高程序和数据的访问存储器的速度。

如TI公司的C6000系列的DSP内部集成有1M~7M位的程序和数据RAM;ADI公司的SHARC系列DSP内部集成有05M~2M位的程序和数据RAM,Tiger SHARC系列DSP内部集成有6M位的程序和数据RAM。

(5) 流水处理技术

DSP大多采用流水技术,即将一条指令的执行过程分解成取指、译码、取数、执行等若干个阶段,每个阶段称为一级流水。每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等 *** 作,从而在不提高时钟频率的条件下减少了每条指令的执行时间。

(6) DSP与其它处理器的差别

数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU)三者的区别在于:DSP面向高性能、 重复性、数值运算密集型的实时处理;MPU大量应用于计算机;MCU则适用于以控制为主的处理过程。

DSP的运算速度比其它处理器要高得多,以FFT、相关为例,高性能DSP不仅处理速度是MPU的 4~10倍,而且可以连续不断地完成数据的实时输入/输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU强得多。以一个FIR滤波器实现为例,每输入一个数据,对应每阶滤波器系数需要一次乘、一次加、一次取指、二次取数,还需要专门的数据移动 *** 作,DSP可以单周期完成乘加并行 *** 作以及3~4次数据存取 *** 作,而普通MPU完成同样的 *** 作至少需要4个指令周期。因此,在相同的指令周期和片内指令缓存条件下,DSP的运算送到可以超过MPU运算速度的4倍以上。

正是基于 DSP的这些优势,在新推出的高性能通用微处理器(如Pentium、Power PC 604e等)片内已经融入了 DSP的功能,而以这种通用微处理器构成的计算机在网络通信、语音图像处理、实时数据分析等方面的效率大大提高。

谈一点学dsp的心得

因为课题需要,所以跟dsp打上了交道。大概从今年的8月份开始了解dsp。

那个时候中文书籍好像不是很多,就从网上下载ti的一些基本手册和几本大

黄皮书。因为以前基本没接触过,所以没搞dsp之前觉得dsp好深奥好难,看

了一段时间书以后,开始使用ccs仿真一些程序。现在回头看看ccs的软仿真

一般只能仿真算法的对错,对于算法的效率和其他一些性能的仿真基本没有

什么意义。可惜刚上手的时候我对这个不太清楚,就一直在ccs的软仿真上

浪费了太多时间,总想通过ccs下的profiler观测值来提高程序效率,结果

和后来在实际板子上跑出来的效果大相径庭。大概到了国庆假期结束,开始

画电路板,11月初拿到电路板开始漫长的调试过程。早听人说过调硬件是一

件很苦恼又很无奈的事,因为好多问题没有道理可讲。第一块板子是一块小

的实验板,制版焊接到调试一次通过,我就感觉调试硬件没什么特别难的。

结果后来的事实让我体验到了调试硬件的艰苦。第二块板子也很快做完了,

结果上电后总进不去ccs。折腾了两天,挨个管脚测,后来又和第一次做得

板子进行比较,发现一些中断引脚没有拉高,估计可能是这方面的原因。把

这些中断管脚拉高以后,ccs顺利进去了。后来又遇到了很多问题,每次都要

花上两三天时间才能把问题找出来。到现在电路基本能跑起来,但还有些不太

稳定,原因还需要慢慢琢磨。

在调试过程中,能多找一些身边的高手问就尽量找,这样有两个好处,一

能节省你的时间,二可以从高手那里得到一些经验。其次如果电路在调试过程

中老出问题,先检查程序,确认程序没有问题以后,在查硬件电路,这样一个

顺序效率比较高。再就是多留意一下bbs上的信息,有的信息可能现在对你

没多少用处,但是可能在以后会用到。

还有一些具体经验,以后有时间在总结了 ^_^

学习DSP可能需要时间很长,不是短期可以解决的。

我的建议:

1。看网上资料;

2。用DSK来练手;

3。如果你连硬件经验都没有,那就得先练焊板子,哈哈

4。找人请教

我的唯一感受,如果你想学深些的话:

1多看TI的pdf,多多宜善,权威而且全面

2硬件上,多做项目,包括单片机的、一般电路的都行

3软件上,一般的编程不说了,编译原理之类的对混合编程很有帮助的

4其它东西,就是那些随着DSP的出现才流行的东西,如DSP/BIOS,CPLD技术等

其实也没什么诀窍,我现在还是照着上面学,离目标还差得远

用的都是CCS编程。

CCS有两种工作模式:

1软件模拟器模式:可以从DSP芯片中分离出来,在PC上模拟DSP的指令集和工作机制,主要用于前期算法的实现和调试。

2硬件在线编程模式:在DSP芯片上实时运行,将应用程序的在线编程和调试与硬件开发板集成。

CCS的开发系统主要由以下组件构成:

1TMS320C54x集成代码生成工具;

2CCS综合开发环境;

3DSP/BIOS实时内核插件及其应用程序接口API;

4实时数据交换RTDX插件及相应的编程接口API;

5由第三方TI公司对外提供多种应用模块插件。

扩展资料:

dsp编程中双重循环、多重循环的优化:

(1)多重循环拆成单层循环,减少循环层数;

例如,双重循环内一个百cycle只使用了一个乘法器,拆成单层循环后,一个cycle可使用2个乘法器,充分利用DSP乘法器资源,同时运算速度也会加快;

(2)如果循环次数较少,则将其放入外循环;如果循环次数更多,则将其放入内存循环;

(3)二维数组的双环:二维数组的行循环置于外环,列循环置于内环;

(4)避免循环内的乘除 *** 作:循环内的乘除 *** 作移到循环外,由加法代替。

以上就是关于再次问DSP仿真CCS的调试全部的内容,包括:再次问DSP仿真CCS的调试、如何烧写DSP程序用JTAG线采用CCS3.3软件。、dsp程序不接开发板在ccs2000中能运行么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9811230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存