- 博客(16)
- 资源 (20)
- 收藏
- 关注
转载 Linux音频编程指南(肖文鹏)
虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架。<br />一、数字音频<br />音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。<br />数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重现,实
2011-02-28 09:19:00 1378
转载 Linux驱动程序之入门篇
<br />无论是VC还是VB,还是C#,还是JSP PHP等等语言,在学习他们之前总是先来一个HELLO WORLD的例子,这个好像成了我们程序入门的必经之路。所以在驱动程序的学习上,也离不开这个步骤。但是驱动程序的开发是运行在内核空间的,而应用程序是运行在用户空间的,所以驱动程序的开发盒调试和应用程序的开发都有很大的区别。对于这个hello world的程序我也化了不少时间才搞清楚。 驱动程序作为系统内核的一部分,它工作在核心态,而应用程序工作在用户态。也就是说,不能直接通过指针,把用户空间的数据地址传
2011-02-28 09:17:00 708
转载 DAVINCI开发原理之四----达芬奇编解码服务器(Codec Server)
<br />编解码服务器(CS)就是一个二进制文件,它集成了编解码器,框架组件和一些系统代码,当CS运行在DSP上时,它使用了DSP/BIOS作为其内核。CS同时包括了对客户请求的相关DSP/BIOS线程。CS可以代表实际的DSP硬件、导入到DSP上的镜像文件以及正在运行的任务,其配置需要两个步骤:<br /> >通过TCF脚本语言配置DSP/BIOS;<br /> >通过XDC配置剩下的组件,比如:FC组件、DSP/BIOS Link、Codec Engine等。<br /> 配置完成的服务器
2011-02-28 09:15:00 1429
转载 DAVINCI开发原理之三----达芬奇编解码引擎Codec Engine(CE)
<br />DaVinci是DSP和ARM双核架构的SOC芯片。对芯片与外界的交互通过ARM端的Montavista Linux和相关驱动与应用程序来管理,DSP端只处理编解码相关的算法。DSP和ARM之间的通讯和交互是通过引擎(Engine)和服务器(Server)来完成的。<br />1. 编解码引擎(Codec Engine)<br />a. 核心引擎API<br /> 从应用来说,CE就是用来调用xDAIS算法的一组API的集合,用户可以通过这些API来实例化和调用xDAIS算法。达芬奇提
2011-02-28 09:14:00 1404
转载 DAVINCI开发原理之五----引擎(CE)与服务器(CS)的工作原理
<br />编解码引擎CE和服务器CS之间的关系可以比作客户机和应用服务器之间的关系,本质上是远过程调用思想在双核上的实现。<br />1. 远过程调用(RPC)的工作原理<br /> 远过程调用最初是用在C/S架构上进行互操作的一种机制,是OS中进程间通讯在网络环境中的延伸。其目的是使得应用程序在调用另一个远程应用程序(在另外一个节点上,或本节点上的另一个进程中)时,采用与本地调用相同的调用方式,就像本地进行的调用过程一样,如下图所示:<br />
2011-02-28 09:14:00 977
转载 DAVINCI开发原理之二----DSP端开发环境的建立(DVSDK)
<br />在一中只是建立了DVEVM的开发环境,只能进行ARM端程序的开发,如果需要开发DSP端的算法就还需要安装使用DVSDK,该软件包包括如下内容:<br />>Monta Vista Linux Profession Edition v4: 相对于DVEVM发布的montavista linux demo版本来说,这个完全专业版包含了DevRocket IDE和相关服务支持,要全面的多;<br />>DM6446x SoC Analyzer(DSA): 这个软件是安装在windows OS上的,用来
2011-02-28 09:13:00 1222
转载 DAVINCI开发原理之一----ARM端开发环境的建立(DVEVM)
<br />1. 对DAVINCI平台,TI在硬件上给予双核架构强有力的支撑,在DSP端用DSP/BIOS来支持音视频算法的运行,在ARM端用MontaVista Linux(MV)来支持其对外设的管理。对于ARM与DSP之间的数据交互,则用Code Engine和Codec Server来加以管理。<br />2. 在DAVINCI的开发程序分为codec部分和应用程序部分。开发应用程序前,需要搭建软硬件开发环境。硬件环境包括:DAVINCI开发板DVEVM(含TMS320DM6446的DSP和ARM的双
2011-02-28 09:12:00 885
转载 使用XDC工具创建基于Codec Engine的dm6446双核工程
<br />这两天对TI的Codec Engine框架进行了进一步的学习,这里总结一下通过XDC工具创建基于Codec Engine的双核(ARM+DSP)工程的建立和生成可执行文件的过程。如有不对的地方,请不吝赐教。<br />1.由于工程的算法将在DSP端执行,因此需要创建DSP server可执行文件供ARM端的应用程序调用,可以采用以下文件结构。图上还写出了每个文件夹内需要包含的文件(注:runxdc.sh、setpaths.sh文件并不一定要存在,二者存在的目的在于提供XDC命令所需的搜索路径环境
2011-02-28 09:03:00 1496
转载 DSP/BIOS任务通信和同步(MBX SEM QUE模块API)
DSP/BIOS的高级应用DSP在同一时间执行多个任务,当外部数据变为有效或者出现控制信号时,对外部事件进行响应。通常将这些任务称为线程,DSP/BIOS采用广义的定义:DSP执行的所有独立的指令流。一个线程是一个单独的控制点,可能包含一个字程序、一个宏或者是一个函数调用。一、四种线程类型:HWI,SWI,TSK,IDL怎样选择:1:严格的实时性如果线程的执行需要严格的实时性,而线程执行需要的时间又很少时,可以使用硬件中断或者时钟函数完成硬件中断线程将由外部的同步事件(如A/D转换器的中断信号)触发而执行。
2011-02-21 14:15:00 1837
转载 TI 的DSP BIOS学习
<br /> DSP/BIOS正是CCS的重要组成部分,它实质上是一种基于TMS320C5000和TMS320C6000系列DSP平台的规模可控实时操作系统内核。它也是TI公司实时软件技术eXpressDSP技术的核心部分。<br />一、采用实时操作系统的好处<br />DSP BIOS是一个实时操作系统(RTOS),采用DSP BIOS有以下好处:<br />1、实时调度(Real-time scheduling)<br /> DSP BIOS占用了一定的资源(不光是存储器资源,还有CPU资源)
2011-02-21 14:13:00 3708 1
转载 DSP/BIOS的高级应用
<br />DSP在同一时间执行多个任务,当外部数据变为有效或者出现控制信号时,对外部事件进行响应。 <br />通常将这些任务称为线程,DSP/BIOS采用广义的定义:DSP执行的所有独立的指令流。 <br />一个线程是一个单独的控制点,可能包含一个字程序、一个宏或者是一个函数调用。一、四种线程类型:HWI,SWI,TSK,IDL <br />怎样选择: <br />1:严格的实时性 <br />如果线程的执行需要严格的实时性,而线程执行需要的时间又很少时,可以使用硬件中断或者时钟函数完成 硬件中断线程
2011-02-14 11:51:00 1499
转载 DSP/BIOS任务通信和同步 MBX SEM QUE模块API
DSP/BIOS任务通信和同步 MBX SEM QUE模块APIDSP/BIOS的高级应用<br /><br />DSP在同一时间执行多个任务,当外部数据变为有效或者出现控制信号时,对外部事件进行响应。<br /><br />通常将这些任务称为线程,DSP/BIOS采用广义的定义:DSP执行的所有独立的指令流。<br /><br />一个线程是一个单独的控制点,可能包含一个字程序、一个宏或者是一个函数调用。<br /><br />一、四种线程类型:HWI,SWI,TSK,IDL<br /><br />怎样选
2011-02-12 09:33:00 1513
转载 DSP/BIOS的启动序列
<br />1 DSP/BIOS的构成<br /> 一般认为DSP/BIOS由三部分内容组成,即<br /> 1) DSP/BIOS实时库和API<br /> 2) DSP/BIOS配置工具<br /> 3) DSP/BIOS插件<br /> 其中配置工具用于提供可视化的编程环境,而插件用于支持调试过程。所以,实时库和API才是DSP/BIOS的核心。DSP/BIOS实时库可以为最终生成的嵌入式实时操作系统提供运行时的基本服务,包括线程调度,中断管理等功能。DSP/BIOS API由十几个模块组成
2011-02-12 09:29:00 1311
转载 基础类的DSP/BIOS API调用
<br />一、时钟管理CLK<br />(1)Uns ncounts = CLK_countspms(void)<br /> 返回每毫秒的定时器高分辨率时钟的计数值<br />(2)LgUns currtime = CLK_gethtime(void)<br /> 返回高分辨率时钟的计数值 超过32bit归零<br /> 高分辨率时钟是DSP时钟除以(TDDR+1)<br />(3)LgUns currtime = CLK_getltime(void)<br /> 返回低分辨率时钟的计数值 超过32b
2011-02-12 09:28:00 1232
转载 Y U V与Y,Pb,Pr与 Y, Cb,Cr有什么区别?
<br />从技术上角度区分,颜色空间可考虑分成如下三类: <br /><br />Ø RGB型颜色空间/计算机图形颜色空间:这类模型主要用于电视机和计算机的颜色显示系统。例如,RGB,HSI, HSL和HSV等颜色空间。<br /><br />Ø XYZ型颜色空间/CIE颜色空间:这类颜色空间是由国际照明委员会定义的颜色空间,通常作为国际性的颜色空间标准,用作颜色的基本度量方法。例如,CIE 1931 XYZ,L*a*b,L*u*v和LCH等颜色空间就可作为过渡性的转换空间。<br /><br
2011-02-10 11:43:00 3438
转载 从Cfgdemo项目来分析协议栈的启动
<br />Cfgdemo项目分析<br />从Cfgdemo项目来分析协议栈的启动<br /> <br />项目中静态创建的任务有两个:一个是空闲任务,一个是StackTest任务,main函数是空的。任务StackTest的优先级(5)比空闲任务高。整个程序的初始化部分执行完之后,就会执行StackTest任务,从而执行StackTest()函数。<br />StackTest()函数首先调用了NC_SystemOpen()函数,来完成协议栈系统的初始化工作。必须注意的是:在使用协议栈之前必须最先调用该
2011-02-10 11:42:00 1204
Linux操作系统文件系统基础知识
2010-03-22
BIOS的使用完全手册
2010-03-22
基于Quartus_II_+_ModelSim_SE的后仿真(VHDL版)\基于Quartus II + ModelSim SE的后仿真(VHDL版
2010-03-22
modelsim的库编译
2010-03-22
驱动开发windwos入门
2009-07-20
华为面试资料(总汇)
2008-12-08
端口映射原理与linux
2008-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人