DSP开发技术
TMS320C6455/6678, SYS/BIOS, 多核开发
Zhang_P_Y
关注机器学习、计算机视觉、嵌入式(MCU、DSP、ARM)和桌面开发等领域
展开
-
【DSP开发】TI SYS/BIOS的 创建工程实例
SYS/BIOS是一个可扩展的实时内核(或者说是操作系统),其提供了许多模块化的APIs(应用程序接口),支持抢占式多线程,硬件抽象,实时分析和配置工具,其设计目的是为了最大限度地减少对内存和CPU的要求。其拥有很多实时嵌入式操作系统的功能,如任务的调度,任务间的同步和通信,内存管理,实时时钟管理,中断服务管理等。有了它,用户可以编写复杂的多线程程序,并且会占用更少的CPU和内存资源。 ...转载 2018-06-14 16:59:42 · 6365 阅读 · 3 评论 -
【DSP开发】【VS开发】YUV与RGB格式转换
【视频处理】YUV与RGB格式转换YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式。因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式。RGB与YUV的变换公式如下: YUV(256 级别) 可以从8位 RGB 直接计算:Y = 0.299 R + 0.587 G +转载 2016-06-11 21:22:34 · 1396 阅读 · 0 评论 -
【DSP开发】C6000非多核非KeyStone系列DSP中断系统
C6000系列DSP的中断系统上一篇介绍了C6455的GPIO系统,最后把GPIO4配置成了中断/事件模式,本文将介绍C6455的中断系统,介绍完基本概念后,给出把GPIO4映射到INT4的代码。完成了GPIO和中断的配置,我们就可以开始着手DSP与FPGA之间的通讯了。废话不多说,下面开始介绍C6455的中断系统。---------------转载 2016-06-04 12:30:59 · 1215 阅读 · 0 评论 -
【DSP开发】C6678的中断控制器
分两层,一层是每个core内部的中断控制器,这个叫interrupt controller,简写intc;一层是整个芯片的,属于芯片级的,在每个core的外面,这个叫chip-level interrupt controller,缩写CIC。分两层其实两层功能也不同,这个不用细说,intc可以直接处理一些中断,这些是每个核都同样的,但是还有一些中断,如果有需要不能让所有的核都能看到,则转载 2016-06-04 12:18:46 · 5988 阅读 · 0 评论 -
【DSP开发】【VS开发】MUX和DEMUX的含义
MUX和DEMUXMux 是 Multiplex 的缩写,意为“多路传输”,其实就是“混流”、“封装”的意思,与“合成”的意思相似就是指把视频素材和音频素材封装到一个单独的文件中。muxing 是在mux 后面加了 -ing 构成的动名词形式。Demux是在 mux 前面加了个表示否定的 De- 前缀,意思是进行与 muxing 相反的“分解复用”操作,也就是我们平时说的“分离”一转载 2016-06-25 15:09:07 · 5739 阅读 · 0 评论 -
【DSP开发】shared memory VS mailbox
Hello, Hi everyone, I have a simple question. Could anyone explain to me the difference between Mailboxes and Shared Memory? A “Shared memory” (shm) is some portion of memory that you can share转载 2016-06-24 13:39:38 · 4313 阅读 · 0 评论 -
【DSP开发】mailbox的使用
在DSP项目开发中,我用mailbox实现了进程间的通信,通过接收网络控制进程发来的mailbox,实现了云台的控制,其中需要学习的地方有两点:一是mailbox通信机制的学习,二是DSP时间管理机制,这里先学习一下mailbox的相关知识。 MBX模型为mailbox提供了一系列函数支持,比如MBX_pend 和 MBX_post。而mailbox可以用来在同一块处理器上运行的进程转载 2016-06-24 13:33:23 · 18047 阅读 · 0 评论 -
【DSP开发】【Linux开发】IIC设备驱动程序
IIC设备是一种通过IIC总线连接的设备,由于其简单性,被广泛引用于电子系统中。在现代电子系统中,有很多的IIC设备需要进行相互之间通信IIC总线是由PHILIPS公司开发的两线式串行总线,用于连接微处理器和外部IIC设备。IIC设备产生于20世纪80年代,最初专用与音频和视频设备,现在在各种电子设备中都广泛应用IIC总线有两条总线线路,一条是串行数据线(SDA),一条是串行时钟线(SCL转载 2016-06-24 12:29:58 · 921 阅读 · 0 评论 -
【DSP开发】【VS开发】PCIE设备扫描过程
初步了解完PCI总线标准之后,我们接下来正式开始PCIe设备的漫游之旅。从我们按下PC的电源按钮开始,BIOS就接管系统控制权开始工作,它会先进行一些内存和设备的初始化工作(当然,也包括我们的PCI设备),由于商业上的原因,Phoenix等厂商的BIOS代码需要授权协议,在此,我们以另外一个款开源BIOS(openbios)为例,来剖析BIOS中,我们的PCIe设备是如何被找到以及初始化的。转载 2016-05-07 23:43:21 · 636 阅读 · 0 评论 -
【DSP开发】gel文件编写
GEL 文件的功能同emuinit.cmd 的功能基本相同,用于初始化DSP。但它的功能比emuinit的功能有所增强,GEL 在CCS 下有一个菜单,可以根据DSP 的对象不同,设置不同的初始化程序。以TMS320LF2407 为例:#define SCSR1 0x7018 ;定义scsr1 寄存器#define SCSR2 0X7019 ;定义scsr2 寄存器#def转载 2016-04-22 09:37:38 · 2678 阅读 · 1 评论 -
【DSP开发】串行 RapidIO: 高性能嵌入式互连技术
串行 RapidIO: 高性能嵌入式互连技术作者: 德州仪器技术应用工程师 冯华亮/ Brighton Feng/ bf@ti.com摘要串行RapidIO针对高性能嵌入式系统芯片间和板间互连而设计,它将是未来十几年中嵌入式系统互连的最佳选择。本文比较RapidIO和传统互连技术的优点;介绍RapidIO协议架构,包格式,互连拓扑结构以及串行RapidIO物理层规范。介转载 2016-04-21 17:02:11 · 2264 阅读 · 0 评论 -
【VS开发】PCIe体系结构的组成部件
PCIe总线作为处理器系统的局部总线,其作用与PCI总线类似,主要目的是为了连接处理器系统中的外部设备,当然PCIe总线也可以连接其他处理器系统。在不同的处理器系统中,PCIe体系结构的实现方法略有不同。但是在大多数处理器系统中,都使用了RC、Switch和PCIe-to-PCI桥这些基本模块连接PCIe和PCI设备。在PCIe总线中,基于PCIe总线的设备,也被称为EP(Endpoint)。转载 2016-05-05 13:50:45 · 3304 阅读 · 0 评论 -
【VS开发】【DSP开发】WinDriver简介(或介绍)
WinDriver for Windows简化并自动化了用户模式Windows设备驱动程序的开发,支持设备包括PCI / CardBus / ISA/ PCI-104 / PCMCIA * / PMC / PCI-X 和 CompactPCI,无需DDK或内核级编程知识。关于USB设备驱动开发,请参见WinDriver USB for Windows。 WinDriver包含一系列原创 2016-05-05 13:39:01 · 1239 阅读 · 1 评论 -
【DSP开发】ccsv6添加simulator功能
ccsv5更新到ccsv6后,ti去掉了simulator功能,具体的说法是“CCSv6 does NOT have any simulators. Texas Instruments is moving away from providing simulators and instead is focusing on providing low cost development boards.”转载 2016-06-28 14:40:50 · 2647 阅读 · 0 评论 -
【DSP开发】HyperLink 编程和性能考量
冯华亮/Brighton Feng---Communication Infrastructure摘要HyperLink 为两个 KeyStone 架构 DSP 之间提供了一种高速,低延迟,引脚数量少的通信接口。HyperLink 的用户手册已经详细的对其进行了描述。本文主要是为 HyperLink 的编程提供了一些额外的补充信息。同时本文还讨论了 HyperLink 的性能转载 2016-06-07 09:14:00 · 3474 阅读 · 1 评论 -
【DSP开发】【图像处理】Gray与YUV之间的转换关系
标准的V4L2 APIhttp://v4l.videotechnology.com/dwg/v4l2.pdf在例程/home/dvevm_1_20/demos/ImageGray中,涉及到图像采集及显示的一些概念主要的几个文件capture.cdisplay.cvideo.c在demo里面采集用到的格式是UYVYV4L2_PIX_FM转载 2016-06-11 21:21:36 · 6096 阅读 · 0 评论 -
【ARM-Linux开发】【DSP开发】AM5728介绍
AM5728 Sitara Processors1. 介绍1.1 AM572x概述AM572x是高性能,Sitara器件、以28nm技术集成:结构设计主要考虑嵌入式应用,包括工业通讯,人机接口(HMI),自动化控制,其它高性能通用的应用,流视频,支持到全高清1920x1080p@60Hz2D和3D图形和合成。转载 2016-11-22 10:54:59 · 5953 阅读 · 0 评论 -
【DSP开发】【计算机视觉】EMCV:可在DSP上运行的OpenCV
EMCV:可在DSP上运行的OpenCVEMCV项目主页: http://sf.net/projects/emcv EMCV全称为Embedded Computer Vision Library,是一个可在TI DM64x系列DSP上运行的计算机视觉库。EMCV提供了跟OpenCV完全一致的函数接口,通过EMCV,你可以轻松的将你的OpenCV算法移植到DSP,甚至不用改一行代码。 目前EM转载 2016-09-29 23:00:41 · 4095 阅读 · 0 评论 -
【DSP开发】【计算机视觉】TI 视觉软件开发套件ADAS
关键字:TI 视觉软件开发套件 ADAS 日前,德州仪器 (TI) 宣布推出其视觉软件开发套件(SDK),从而为开发人员提供了一款灵活的框架、一组丰富齐全的硬件设备驱动程序和一套适用的开发工具,可帮助用户依靠TI的异型架构打造更加高效的先进驾驶辅助系统 (ADAS) 实施方案。基于TI广受欢迎的SYS/BIOS RTOS的创新型 TI 视觉 SDK转载 2016-09-29 22:42:10 · 4588 阅读 · 0 评论 -
【DSP开发】【并行计算-CUDA开发】TI OpenCL v01.01.xx
TI OpenCL v01.01.xxTI OpenCL™ Runtime Documentation Contents:IntroductionOpenCL 1.1 Reference MaterialCompilationCompile Host OpenCL ApplicationsCompiling OpenCL C ProgramsCreate转载 2016-09-29 20:21:55 · 1928 阅读 · 0 评论 -
【Linux开发】【DSP开发】利用CCS6.1生成out文件的同时生成bin文件
【Linux开发】【DSP开发】利用CCS6.1生成out文件的同时生成bin文件标签:【DSP开发】 【Linux开发】尝试在windows上安装的CCS6.1开发AM4378-Linux下的应用程序,本以为是可以的,结果尝试了各种方法,out文件和bin文件格式都不能执行,输出都是二进制文件格式不正确,想必可能也是需要再Linux主机下安装Linux CCS6.1然后再来就可以了吧!下面总结的是原创 2016-09-05 23:00:23 · 5004 阅读 · 0 评论 -
【DSP开发】【Linux开发】基于ARM+DSP进行应用开发
针对当前应用的复杂性,SOC芯片更好能能满足应用和媒体的需求,集成众多接口,用ARM做为应用处理器进行多样化的应用开发和用户界面和接口,利用DSP进行算法加速,特别是媒体的编解码算法加速,既能够保持算法的灵活性,又能提供强大的处理能力。德州仪器(TI)继第一系列Davinci芯片DM644x之后,又陆续推出了DM643x,DM35x/36x,DM6467,OMAP35x,OMAPLx等一系列ARM转载 2016-09-05 22:34:05 · 3623 阅读 · 0 评论 -
【VS开发】【Linux开发】【DSP开发】如何截获以太网帧并解析
1234567891011121314151617181920212223242526272829303132333435转载 2016-06-18 19:39:15 · 1342 阅读 · 0 评论 -
【VS开发】【DSP开发】地址对齐
组成原理说明------地址对齐1.引入 1.1如下面的代码,定义了三个变量,int,char,int,并输出他们的十六进制的内存地址。#includeint main(){ int a; char b; int c; printf("a:%x b:%x c:%x\n",&a,&b,&c); //输出: a:22ff1c b转载 2016-06-17 21:32:10 · 1497 阅读 · 0 评论 -
【DSP开发】TI第二代KeyStone SoC诠释德仪的“云”态度
11月14日,期盼已久的德州仪器基于ARM Cortex-A15的产品终于新鲜出炉。伴随着TIKeyStone II多核 SoC系列产品的发布,结合了ARM Cortex-A15 处理器、C66x DSP、数据包处理、安全处理以及以太网交换的完美整合方案成为了业界的新碉堡。“最新的KeyStoneII SoC目前共有六款,分别针对专用服务器、企业与工业应用和能效网络三大领域。” 德州仪转载 2016-06-12 23:12:39 · 1175 阅读 · 0 评论 -
【DSP开发】解读TI的KeyStone II云技术应用
最近,德州仪器(TI)公司推出6款最新KeyStone II多核SoC,助力云应用。TI公司多核DSP中国市场开发经理蒋亚坚先生向媒体讲解了这6款KeyStone II新产品的特点与目标应用。 目前“云”的概念非常流行。云技术对TI这样的芯片制造商提出了更多要求,如芯片的性能、可扩展性、网络功耗等方面都需要做出更多的创新,用不一样的特色来满足各种各样云的需求。TI的新品主要针对三个应用转载 2016-06-12 23:09:45 · 1636 阅读 · 0 评论 -
【DSP开发】回马枪要你命 德州仪器发布最强ARM芯片Keystone II
之前许多传闻称德州仪器将会彻底放弃OMAP系列ARM处理器,从此离开手持设备的江湖。如果你信以为真,那可就太小看德州仪器这个老狐狸了——要知道德州仪器诞生的比Intel都还早几年。三小时前,德州仪器宣布推出基于ARM Cortex-A15 MPcore处理器和TMS320C66x DSP内核的第二代KeyStone系列SoC芯片。一举夺取ARM阵营最强SoC的宝座。转载 2016-06-12 23:08:22 · 1917 阅读 · 0 评论 -
【VS开发】【DSP开发】如何使用WinDriver为PCIe采集卡装驱动
如何使用WinDriver为PCIe采集卡装驱动第一步:使用WinDriver生成驱动1.运行Drier Wizard2.点击New host driverproject3.在列表中,选择待安装驱动的设备,这里选择基于PCI的Xilinx数据采集卡4.点击Generate .INF file控件转载 2016-05-05 13:37:09 · 3286 阅读 · 2 评论 -
【Linux开发】linux中关于dma_alloc_coherent的用法
大家都知道,DMA的操作是需要物理地址的,但是在linux内核中使用的都是虚拟地址,如果我们想要用DMA对一段内存进行操作,我们如何得到这一段内存的物理地址和虚拟地址的映射呢?dma_alloc_coherent这个函数实现了这种机制。 1、函数原型:void *dma_alloc_coherent(struct device *dev, size_t size,dma_addr_t *dma_h转载 2016-05-29 08:47:17 · 1386 阅读 · 0 评论 -
TMS320C6455小介绍
TMS320C6455是TI公司推出的的一款新型高性能单核定点DSP.它是TI公司基于第三代先进VeloviTI VLIW(超长指令字)结构开发出来的新产品,在通信,医疗图像,无线传输方面都可以大有作为.TMS320C6455主频达到了1GHz,1ns的指令周期.每周期执行8条32位指令,最大峰值速度达到8000MIPS.这意味着.在1G时钟频率下,8000个16位"16位的MACs能在1秒钟发生转载 2016-02-28 17:56:39 · 8962 阅读 · 0 评论 -
【计算机】DMA原理2
DMA (直接存储器访问) DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。中文名直接存储器转载 2016-03-04 14:09:49 · 1380 阅读 · 0 评论 -
【计算机】DMA原理1
DMA原理:DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动转载 2016-03-04 14:07:49 · 2911 阅读 · 0 评论 -
【DSP开发】硬件信号量在多核处理器核间通信中的应用
硬件信号量在多核处理器核间通信中的应用刘德保1,汪安民1,韩道文21.同方电子科技有限公司研究所,九江 332009;2.解放军电子工程学院摘要: 在多核处理器的软件设计中,核间通信机制是关键所在,有效合理的核间通信可以发挥多核处理器的并行处理能力。中断和查询方式是传统的核间通信手段,但存在丢失中断和查询效率低的缺点。为解决这一问题,多核处理器提供了一种全新的硬件信号量转载 2016-03-03 20:46:33 · 7300 阅读 · 0 评论 -
DSP6455的EMIFA口
DSP6455的EMIFA口声明:引用请注明出处http://blog.csdn.net/lg1259156776/支持两种不同的接口模式: 异步接口:标准的SRAM,ROM接口 同步接口:SBSRAM Interface(步突发静态存储器)、Zero Bus Turnaround (ZBT) SRAM Interface(零总线周转时间SRAM)、Synchronous FIFO Interf原创 2015-10-14 17:10:46 · 2409 阅读 · 0 评论 -
几种存储器类型总结
说明:从操作系统来讲,不同类型的存储器的出现正是为了实现经典的内存架构:多级缓存结构,为了匹配高速的CPU。从CPU内部的寄存器,到高速cache,再到主存,然后是磁盘,最后是磁带,速度越来越慢,但价格越来越便宜。包括DSP的内存架构,也是分为三级,第一级是CPU内部的寄存器,第二级L1P和L1DRAM,第三级是L1SRAM,L1和L2的都是片内RAM,之后还可以通过EMIF接口(64X+)或者XINTFT接口原创 2015-10-14 11:12:16 · 12544 阅读 · 0 评论 -
DSP VLIB实验
声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 引言 在dsp开发中,为了节省开发时间和难度,TI将一些成熟的算法封装为模块,供开发者使用。如果能充分利用这些算法支持库,对于加快dsp开发进程与提高代码质量、稳定性有非常大的帮助。VLIB是一个经过深入优化的计算机视觉算法库,支持C64x和C64x+处理器内核,提供了如下图所示的功能函数接口。原创 2015-09-23 08:39:20 · 4453 阅读 · 0 评论 -
大端小端存储问题解析
大端小端存储问题解析说明:在单片机,dsp或者是上位机通讯接口开发及文件读取等应用中常常会遇到存储结构上大端还是小端的问题,如果不清楚时常会出现数据错位等,比较容易造成困惑,这里对大端小端存储问题进行解析,方便参考应用。首先,存储结构都是以字节为单位组织的,不管字长是多少位的都没关系。原创 2015-10-12 15:32:25 · 1998 阅读 · 0 评论 -
【DSP开发】DSP能用VS2010生成的链接库文件吗?
【DSP开发】DSP能用VS2010生成的链接库文件吗?声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:可能这个问题让行家看上去就会莞尔一笑,但是很多时候在开发中经常被这种莫名其妙的想法给迷住,实际上是对其中涉及到的一些基本概念和原理不太清楚所致,本文将对这个问题进行详细的分析。我们有时说C/C++语言是源码级别的跨平台,主要是指的是在不同的操作系统平台原创 2015-10-25 16:13:43 · 2901 阅读 · 0 评论 -
【DSP开发】如何获得浮点型的数据的IEEE的表示
【DSP开发】如何获得浮点型的数据的IEEE的表示声明:引用请注明出处http://blog.csdn.net/lg1259156776/浮点数的存储规范,由IEEE指定的,具体的规范文件是:IEEE Standard 754 for Binary Floating-Point Arithmetic。 这里不细说存储规范,只是说明如何获取DSP程序中某一个float型变量的IEEE表示。如果这个时原创 2015-10-23 23:05:44 · 1343 阅读 · 0 评论 -
【DSP开发】利用CCS5.4开发基于DSP6455的JPEG2000图像解压缩过程
【DSP开发】利用CCS5.4开发基于DSP6455的JPEG2000图像解压缩过程声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:前端是时间基于VS2010工程,在windows上实现了对openjpeg2000的改写,实现了从内存中读取数据进行解压缩的工作。由于某些技术储备需要,将其移植到DSP6455中进行解压缩。本文记录的就是整个移植过程。原创 2015-10-23 12:41:19 · 3003 阅读 · 1 评论