DSP编程】的更多相关文章

File:isctype.c Line 68 DSP/BIOS程序启动顺序 CCS V5 使用教程一: 安装激活与创建工程 CCS V5 使用教程二:创建工程和配置软件仿真 CCS V5 使用教程三:程序调试 SYS/BIOS实例分析 IPC的使用 利用SharedRegion实现核间共享 算法运算时间测量…
(1)error: can't allocate .ebss, size 000c450d (page 1) in DXINTFRAM2 (avail: 00010000) error: errors in input - ./Debug/sercon0.out not built 变量太多,分配不开了.使用仿真器和电脑仿真不同,会根据DSP实际情况分配空间. (2)DSP调试过程: 上电 连接 编译 下载 重启debug-restart go main 运行 (3)<Linking> und…
Linux音频编程指南 虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架. 一.数字音频 音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理. 数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重…
不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力.无疑,汇编语言具备这样的特质.但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择.而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择.笔者在嵌入式系统项目的开发过程中,一次又一次感受到C语言的精妙,沉醉于C语言给嵌入式开发带来的便利. 图1给出了本文的讨论所基于的硬件平台,实际上,这也是大多数嵌入式系统的硬件平台.它包括两部分: (…
自己认为是问题的问题,时常更新,为了记录学习的点点滴滴. 1.什么是boot loader ? DSP 的速度尽快,EPROM 或flash 的速度较慢, 而DSP 片内的RAM很快, 片外的RAM也较快.为了使DSP 充分发挥它的能力, 必须将程序代码放在RAM中运行.为了方便的将代码从ROM中搬到RAM中,在不带flash 的DSP 中,TI在出厂时固化了一段程序,在上电后完成从ROM或外设将代码搬到用户指定的RAM中. 此段程序称为"boot loader". 有点疑问,带Fla…
初识DSP 1.TI DSP的选型主要考虑处理速度.功耗.程序存储器和数据存储器的容量.片内的资源,如定时器的数量.I/O口数量.中断数量.DMA通道数等.DSP的主要供应商有TI,ADI,Motorola,Lucent和Zilog等,其中TI占有最大的市场份额.TI公司现在主推四大系列DSP1)C5000系列(定点.低功耗):C54X,C54XX,C55X 相比其它系列的主要特点是低功耗,所以最适合个人与便携式上网以及无线通信应用,如手机.PDA.GPS等应用.处理速度在80MIPS--400…
转自: http://www.ibm.com/developerworks/cn/linux/l-audio/ Linux音频编程指南 虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架. 1 评论: 肖文鹏 (xiaowp@263.net), 自由软件爱好者 2004 年 2 月 01 日 内容 一.数字音频 音频信号是一种连续变化的…
C语言嵌入式系统编程修炼 2008-08-19 作者:宋宝华 来源:天极网 C语言嵌入式系统编程修炼之背景篇 本文的讨论主要围绕以通用处理器为中心的协议处理模块进行,因为它更多地牵涉到具体的C语言编程技巧 不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力.无疑,汇编语言具备这样的特质.但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择.而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳…
-stack           0x00000800-heap            0x00000800 stack - 又称系统栈(system stack),用于: 保存函数调用后的返回地址; 给局部变量分配存储空间; 传递函数参数; 保存临时结果; heap - 编译器提供的运行时支持库的一些函数(如malloc/calloc/realloc),允许运行时为变量动态分配存储器.这些存储器就放置在.system段的全局池(global pool)或堆(heap)中. 这个动态存储池的大小…
明白DSP编程的基本流程,熟悉DSP28035的GPIO的使用.代码执行流程:首先是系统时钟的选择.其次是PIE中断向量表的初始化.一些外设的初始化操作While(){}根据EXPERIMENTER’S  KIT板上两个发光二极管对DSP的GPIO进行操作.GPIO31和GPIO34两个IO口进行操作 宏定义操作:#define  LED_ON                 (GpioDataRegs.GPADAT.bit.GPIO31 = 0;)                //GPIO3…
F2812 DSP程序运行在片内RAM和片内FLASH的区别 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:F2812是带有内部Flash的DSP,与内部没有flash的C6455相比在硬件设计上可能更加简单,其程序运行机制也略有不同,c6455只能将flash中的程序加载到RAM中才能运行,而F2812在Flash内部就可以运行,而将对时间敏感的程序段通过伪指令放入拷贝至RAM运行.这一点类似于MSP430系列单片机. 一般情况下DSP编程有两…
本文介绍了C6000最新的v7.2或者之后的编译器如何支持ELF(EABI)和COFF-ABI格式,首先由ARM引入嵌入式(Embedded) EABI的介绍,之后比较了COFF-ABI和EABI的区别,如何用编译器选项(--ABI=EABI --strip_coff_underscore)和预编译处理命令来实现从COFF格式到ELF格式的转换,主要是关注long数据类型位宽不一致以及汇编文件变量和函数定义的前置下划线的处理方式.最后是ELF格式引入的链接段区和COFF格式的不同. EABI简介…
前言 ​ 本笔记首先对DSP的特点及其选型进行了描述,然后重点记录DSP开发环境的搭建及基础工程示例,对为DSP开发新手有一定的指导作用. 1. DSP简介 1.1 主要特点 在一个指令周期内可完成一次乘法和一次加法: 程序和数据空间分开,可以同时访问指令和数据: 片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问: 具有低开销或无开销循环及跳转的硬件支持: 快速的中断处理和硬件I/O支持: 具有在单周期内操作的多个硬件地址产生器: 可以并行执行多个操作: 支持流水线操作,使取指.译码…
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(BlogID=117) 环境说明 高通865 android盒子 Hexagon_SDK 前言   由于业务需求,我们需要展示高通865的cpu/gpu/dsp的使用率,其中cpu/gpu是非常简单的.但是对于dsp来说,我找了许久,才发现了一点点端倪,下面就是这一部分成果. 高通cDSP使用率查询   要实现高…
接触DSP两年多,虽然烧写Flash的操作都没问题,但是要是问起来为什么这么做的,就有点自惭形秽了.所以花些时间,查阅一下资料,整理一下. 1.先看看BurnFlash都需要什么东西. XXX.out(这是源文件,由CCS生成的) hex6x.exe(TI提供的转化软件) XXX.bat(批处理文件,用于调用hex6x.exe) XXX.cmd(转化为16进制配置文件) 2.我们编辑打开XXX.bat文件,代码如下: hex6x XXX.cmd 如此简单,没错它就是命令Hex6x软件去调用XXX…
目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式.使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信:而PDU模式不仅支持中文短信,也能发送英文短信.PDU模式收发短信可以使用3种编码:7-bit.8-bit和UCS2编码.7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符.一般的PDU编码由A B C D E F G H I J K L M十三项组成…
在Linux下,音频设备程序的实现与文件系统的操作密切相关.Linux将各种设备以文件的形式给出统一的接口,这样的设计使得对设备的编程与对文件的操作基本相同,对Linux内核的系统调用也基本一致,从而简化了设备编程. 如何对各种音频设备进行操作是在Linux上进行音频编程的关键,通过内核提供的一组系统调用,应用程序能够访问声卡驱动程序提供的各种音频设备接口,这是在Linux下进行音频编程最简单也是最直接的方法. 声卡不是Linux控制台的一部分,它是一个特殊的设备.声卡主要提供3个重要的特征:…
几个术语和概念: 1.       关于PCM的 PCM是Pulse code modulation的缩写,它是对波形最直接的编码方式.它在音频中的地位可能和BMP在图片中的地位有点类似吧. Sampling rate:从模拟信号到数字信号,即从连续信号到离散信号的转换都是通过离散采样完成的,Sampling rate就是每秒种采样的个数.根据香农采样定理,要保证信号不失真,Sampling rate要大于信号最高频率的两倍.我们知道人的耳朵能听到的频率范围是20hz – 20khz,所以Sam…
一.数字音频 音频信号是一种连续变化的模拟信号,但计算机仅仅能处理和记录二进制的数字信号.由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才干送到计算机中作进一步的处理. 数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重现,实现这一步骤的设备常被称为模/数转换器(A/D).A/D转换器以每秒钟上万次的速率对声波进行採样,每个採样点都记录下了原始模拟声波在某一时刻的状态,通常称之为样本(sample),而每一秒钟所採样的数目则称为採样频率,通过将一串连续的…
链接器的核心工作就是符号表解析和重定位,链接命令文件则使得编程者可以给链接器提供必要的指导和辅助信息.多数时候,由于集成开发环境的存在,开发者无需了解链接命令文件的编写,使用默认配置即可.但若需要对计算机系统存储空间实行更精细化的管理,读懂链接命令文件并能稍作修改则显得很有必要. 段(section) 编译器生成可重分配地址的代码块和数据块,这些块被叫做“段”.通过段名对代码块和数据块的标识,连接器就能在链接的时候根据链接规则(默认规则或链接命令文件制定)将代码块和数据块分配到指定的存储空间中.…
存储器之于CPU好比仓库之于车间.车间加工过程中的原材料.半成品.成品等均需入出仓库,生产效率再快,如果仓库周转不善,也必然造成生产阻塞.如同仓库需要合理地规划管理一般,数据存储也需要恰当的处理技巧来提升CPU的运算性能. 本文基于TI C6000系列DSP,介绍了与运算性能优化有关的存储器知识.针对具体的数据存储问题,给出相应的代码优化策略,并将容易混淆的概念集中讨论.  名词说明   EMIF: External Memory Interface PMC: Program Memory Co…
软件流水循环 1. C6000流水线(Pipeline) 一个指令的处理过程并不是一步完成,它被分为三个阶段:取指(Fetch).译码(Decode).执行(Excute).将每一个阶段放入独立的流程车间处理,形成流水线式的处理过程,可以大大加快指令的处理速度. 如图1所示,流水编排后的3个指令只需5个cycle,相比顺序执行的9个cycle大大减少,当指令数增多,流水线的优势将更加明显. 图1 简单的流水线编排示意 实际上,C6000架构把每一个阶段进一步划分为多个子阶段,每个子阶段消耗1个C…
DSP芯片的出现,是为了解决大量的数字运算问题.通过集成专用的加法器.乘法器.地址产生器.复杂逻辑等硬件单元,DSP能实现比普通单片机更快速的数字运算,使处理器更适用于实时性高.复杂度强的处理场合.也正因为如此,DSP编程中非常重要的一环就是让代码尽可能高效地运行. 本文基于TI C6000硬件架构,针对C语言编程,介绍其中主要的代码优化方法. 指导方针 在做优化前,当建立以下几点信念: 循环最重要.显然,几乎所有耗时的运算都是在循环中进行,我们几乎可以说:代码的优化就是对循环的优化. 最坏原则…
请问#pragma DATA_ALIGN有什么作用? 下面是我在EDMA的一个例程中摘录的几句话:#pragma DATA_ALIGN(ping,128);#pragma DATA_ALIGN(pong,128);#pragma DATA_ALIGN(outbuff,128);我一直不明白#pragma DATA_ALIGN有什么作用.我在书上看是这样介绍的:“#pragma DATA_ALIGN(symbol,constant); DATA_ALIGN指令排列symbol到constant定义…
嵌入式开发—C语言面试题 源地址:http://blog.csdn.net/xdx2ct1314/article/details/7358929   1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出…
第1章 汇编语言工具概述 TMS320C54x DSP的汇编语言开发工具包括: ■  Assembler      ■  Archiver      ■  Linker      ■  Absolute lister      ■  Cross-reference utility      ■  Hex conversion utility      ■  Mnemonic-to-algebraic translator utility 本章将概要介绍上述工具在软件开发流程中如何协调工作,并对每…
冯华亮/Brighton Feng---Communication Infrastructure 摘要 HyperLink 为两个 KeyStone 架构 DSP 之间提供了一种高速,低延迟,引脚数量少的通信接口.HyperLink 的用户手册已经详细的对其进行了描述.本文主要是为 HyperLink 的编程提供了一些额外的补充信息. 同时本文还讨论了 HyperLink 的性能,提供了在各种操作条件下的性能测试数据.对影响HyperLink 性能的一些参数进行了讨论. 文章的最后附上对应本文的…
第2章 通用目标文件格式介绍 汇编器和连接器可以产生在TMS320C54x器件上执行的目标文件,这些目标文件的格式称为通用目标文件格式(COFF).采用COFF格式有利于程序的模式化编程,因为它支持用户在编写汇编语言程序时使用代码块和数据块,这些块称为段(section).汇编器和连接器都提供了多个伪指令用来创建和管理段.本章对COFF段进行简要介绍. 2.1 COFF文件类型 COFF文件包括三种类型,分别是COFF0.COFF1和COFF2.每种类型具有不同形式的文件头,但是数据块的格式相同…
http://www.eeboard.com/bbs/thread-25219-1-1.html ARM微处理器的体系结构 了解DSP的体系结构 深入了解DSP与ARM的区别与联系 2011-09-30 12:49:43|  分类: 嵌入式の半入其室 |  标签:体系结构  |举报|字号 订阅     下载LOFTER我的照片书  |     这些天正准备找工作的事,对于一些理论上的,或者说表面上的知识需要梳理下,所以有空整理了这篇简陋的比较,权当从另一个侧面理解下这两款主流处理器的特点了吧!…
1.DMA产生的背景 在许多需要使用DSP 的场合,一般都需要大量的数据搬移工作,而如果每次数据搬移都由DSP 内核来参与完成,将大大占用DSP 内核的处理时间,从而严重影响其信号处理能力.因此,Blackfin DSP 集成了直接访问(DMA)控制器来完成数据搬移这种简单却耗时的工作.它可以直接进行数据搬移而不需要内核的参与. 说说我对DMA的理解:其实我觉得DMA不算难,反而十分便利,将它想象成城市供水局,为了给城市中不同的小区供水,最原始的办法就是挨家挨户的去送,这就耗费了大量的供水局(D…