基于TI Davinci架构的多核/双核开发高速扫盲(以OMAP L138为例),dm8168多核开发參考以及达芬奇系列资料user guide整理

基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门

原文转自http://blog.csdn.net/wangpengqi/article/details/8115614

感谢wangpengqi的共享。

一、简单介绍

TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然如今也有管脚全兼容的单核。本文要介绍的就是当中的一款低功耗处理器OMAP L138。

OMAP L138包含一个主频300M的ARM9处理器内核和一个300M的C6748DSP内核(均是32位处理器)。此外还有大量外设在此不做说明,与通用的ARM与DSP内核相比有例如以下一些不同点:

1.内存映射,该处理器的外设与内存统一编址。DSP与ARM共享4G内存空间。但当中有一部分DSP仅可见(如DSP的数据指令缓存),一部分ARM仅可见(如ARM的内部RAM)。其余的两者都能够訪问,详细的请參考其芯片资料。

2.中断,与通用的DSP与ARM相比,达芬奇架构并没有在这两个核中添加用于双核通信及相互控制的指令(或许是本人没发现吧。假设你发现相关的说明,请发个email告诉我,谢谢!

),然而却添加两个核之间的中断,共计7个。当双核须要进行通信时。首先把数据放在两方能够訪问的内存上,然后给对方一个中断,对方在中断中接收传递过来的数据。以此实现两方的通信,个人觉得这就是DSP Link实现的基本原理吧:)

3.能源与休眠配置模块(PSC),这个模块主要负责整个系统的能源管理。能够使能或者休眠ARM核,DSP核以及大部分外设ARM核与DSP核的相互控制主要就依赖这个模块。

对于OMAPL138,上电时默认的是ARM核被禁止,DSP核被使能。说以开机时是DSP核先启动。然后是DSP的ROM Bootloader做一些初始化后使能ARM核后,ARM核才開始执行。不同的达芬奇处理器是不同的,比方OMAPL137就是反过来的,网上资料鱼龙混杂,弄不清楚的话就去看PSC模块中的ARM和DSP核的默认值就能够了。

?

二、启动过程

1.开机上电,用户在BOOT 管脚上配置的启动方式被锁定採样到SYSCFG模块的BOOTCFG寄存器,从而确定可处理器的启动方式。

2.PSC模块中的启动默认值是:ARM核休眠,DSP核使能。所以这时候DSP启动。DSP从片内DSP L2 ROM处读取指令运行。这里有TI已经固化的仅DSP核能够訪问的ROM Bloader。简称DSP RBL。

3.DSP的RBL做一些简单的初始化后,就通过PSC模块使能ARM核,休眠自己。然后ARM就开从片内的RAM Local ROM处读取指令并运行,这里面有TI已经固化好的ARM ROM Bootloader,简称ARM RBL。

4.ARM的RBL做一些初始化后。依据BOOTCFG寄存器的设定。从指定的地方读取用于启动U-Boot的Bootloader。即U-Boot BootLoader。简称UBL。UBL能够放在Nandflash,或者通过串口下载等方式取得。

值得说明的是,这里的UBL是(AIS Application Image Script )格式,而不是通常的BIN格式。

5.当ARM RBL读取到UBL后就依据AIS格式中的命令初始化、载入并执行UBL。

然后就是UBL载入执行U-Boot。U-Boot依据启动參数启动Linux。Linux依据启动參数载入根文件系统。

6.这时ARM核上的Linux就执行起来了,但DSP还处于休眠状态。在Linux经过一系列初始化后会执行跟文件系统中/etc/profile的指令。

我们在这里加入插入DSP Link内核模块的命令,就会在/dev文件夹下产生一个叫dsplink的设备文件。这个DSP Link内核模块就是通过前面所说的中断和PSC设定就能够完毕与DSP的通信与控制。

7. 然后再执行我们自己的ARM端程序,在ARM端程序中使用DSP Link的库函数来訪问dsplink设备。从而在用户空间实现对DSP核的控制与通信。

在我们写的ARM端程序中使用DSP Link库函数载入DSP端的应用程序到内存,使用DSP Link的PROC函数启动DSP核。然后ARM核和DSP核就都各自独立执行起来了,通过DSP Link来进行通信。

?

三、OMAPL138 相关软件包及开发工具

开发环境说明:除了CCS3.3是在WindowsXP上外,其它的都是在Fedora14上。

1. OMAP_L138_1_00_00_11.bin - TI的OMAPL138 SDK,对于其它的达芬奇架构处理器有都有相应的DVSDK可供下载,内容大同小异。

这里面包括的有例如以下内容:

pspdrivers - DSP BIOS 平台驱动。包含csl等,编写驱动程序须要參考当中内容。

biosutils - DSP端OS工具集。如csl片级支持库等。

codec_engine - 基于DSP Link与CMEM之上的更高级的双核间通信方式。

dsplink -用于ARM与DSP间通信。

REL_EDMA3_LDD_BIOS5 - DSP端的DMA驱动库,方便DMA的管理及使用。

fc(Framework Components) - DSP端软件框架。包含资源管理等。

linuxutils - Linux端工具集,cmem就在当中。

xdais - TI DSP算法接口标准库。

ase(Audio SOC Example) -使用DSP Link 进行音频编解码的样例。

Davinci-PSP-SDK - TI 提供的Davinci平台软件包,包含nandwriter,ubl,uboot和rootfs等。

2. bios_setuplinux_5_41_02_14.bin - DSP BIOS 5 DSP端的实时操作系统。

3. ti_cgt_c6000_6.1.9_setup_linux_x86.bin - TI DSP C6000交叉编译器。

4. xdctools_setuplinux_3_16_01_27 - RTSC(实时软件组件)工具集。这是Eclipse基金会的一个开源项目。

用于project管理,类似于Make。但比Make更强大。

5. cs1omapl138_1_00_00-v2_setup_linux.bin -基于OMAP L138的Codec Engineserver样例,当中有jpeg等编解码算法的样例程序。

6. sourcery g++ - ARM9交叉编译器,能够自己去sourcery的官方去下载。

7.CCS - 这里使用的是CCS3.3,主要用于编译nandwritter,ubl,烧写ubl和uboot。

?

四、        BootLoader

相关说明:

1.OMAPL138中的nandwritter是执行在ARM上的,用于把AIS格式UBL和U-Boot烧到Nandflash上的一个程序,使用CCS编译。然后用仿真器载入在ARM核上执行,通过交互式对话框就能够把UBL和U-Boot烧到指定设备上。

2.UBL也是使用CCS创建的ARM端裸机程序,首先编译成bin格式的目标程序。然后使用AIS生成工具转换成AIS格式,最后使用nandwritter烧到nandflash中。

编译烧写步骤:

1. 用CCS打开Davinci-PSP-SDK 中提供的ubl,编译生成bin目标文件。

2.使用AIS生成工具,再依据开发板进行配置,把bin文件转换成AIS文件。

3.用CCS打开Davinci-PSP-SDK 中提供的nandwritter。编译并使用仿真器载入执行。

4.在出现的交互式对话框中依次填入要烧写ubl核uboot.bin路径就可以。

?

五、DSP Link

DSP Link是TI为达芬奇架构处理器提供的一种双核通信架构。在DSP端,DSP Link作为DSP BIOS的一个驱动而存在。

在ARM端,DSP Link最为一个Linux的外设而存在。并通过应用层的函数库訪问这个设备的形式进行操作。

进行DSP Link的软件开发须要下面的软件包:

sourcery - ARM交叉编译器。

linux - Linux 内核,编译DSP Link内核模块须要。

cgt600 - DSP交叉编译器。

DSP BIOS - DSP实时操作系统,DSP端使用DSP Link就必须这个。

xdctools - RTSC工具集,DSP BIOS以及非常多TI的软件包都使用这个进行project管理。

dsplink - DSP Link软件包。

编译步骤:

1.解压或安装以上软件包到同一个文件夹。如/opt/OMAPL138_SDK。

2.然后改动dsplink顶层文件夹中Makefile中的软件包路径到正确的为仅仅可。

3.在命令行中输入make编译就可以。

额外说明:

使用我改动过的软件包能够大大简化编译过程,详细说明參考软件包顶层Makefile中的说明就可以。

?

六、CMem

因为DSP Link中的共享内存分配功能比較弱,无法分配太大的连续内存。所以TI又推出了CMem。用于分配大片连续共享内存。

?

七、Codec Engine

因为DSP Link比較底层,使用起来也不方便,所以TI又在此基础上设计了Codec Engine。Codec Engine的底层实现依旧是依赖于DSP Link和CMem的,在上层对TI的xDAIS算法接口标准进行扩展xDAIS-DM,简称xDM。

xDM使用面向对象的编程方法,把算法抽象成4类对象:视频,图像。语音和音频,即VISA。

Codec Engieproject管理使用XDC工具,所以全部模块间的訪问,模块定义或模块实现等等都要遵循RTSC标准。RTSC软件包的配置使用xdcscript脚本语言。模块接口定义使用xdcspec脚本语言。这两种脚本语言都是JavaScript脚本语言的扩展。包含用来进行DSP BIOS配置的TextConf语言也是JavaScript的扩展。JavaScript实际上是ECMA-262标准中的ECMAScript脚本语言,參考当中内容将有利于理解这几种脚本语言。

?

八、双核技术展望

眼下TI的DSP BIOS 6 已经改名为SYS BIOS 6,不只能够在DSP上执行,也能够在ARM等其它处理器上执行,支持多个不同的处理期间的通信。在DSP端把原本的任务间通信和如今的处理器间通信合并在一起并进行了增强,叫IPC。

在非DSP BIOS操作系统上叫SYS Link。代替原来的DSP Link。相同也对其进行了增强,不再须要CMem了。并且这些模块的配置都能够动态进行,API的功能也越来越强大。使用非常灵活。但可惜的是Codec Engine只能支持旧版的DSP
Link。

今年,双核的处理器已经进入手机领域,不久的将来双核讲无处不在。在达芬奇的多核架构中,DSP多用于处理计算任务,而ARM处理,存储核显示网络等任务。这不过功能的划分。但试想一下:假设两个核都是ARM,一个执行RTOS,一个执行Linux呢?

在RTOS上处理实时任务。在Linux处理非实时任务,或许能够解决当前Linux不时实。RTOS软件资源匮乏的现状呢?这不过一种臆想,不过抛砖引而已。

?

九、參考文档

DataSheet:

OMAP-L138 Low-Power Applications Processor

TMS320C6745C6747 DSP System Reference Guide

TMS320C674x DSP Megamodule Reference Guide

OMAP-L138 Applications Processor System Reference Guide

TMS320C674x OMAP-L1x Processor Peripherals Reference Guide

BootLoader:

Using the OMAP-L1x8 Bootloader

SDK:

Building The OMAP-L1 SDK

RTSC&XDCTools:

Real Time Software Components for Embedded Platforms

DSP BIOS:

DSP BIOS TextConf User‘s Guide

TMS320C6000 DSPBIOS 5.x Application Programming Interface (API) Reference Guide

xDAIS:

TMS320 DSP Algorithm Standard Rules and Guidelines User‘s Guide

TMS320 DSP Algorithm Standard API Reference User‘s Guide

xDM:

xDAIS-DM (Digital Media) User Guide

DSP Link & CMem:

Mastering the Art of Memory Map Configuration for Systems

Multicore Programming Guide

DSP BIOS Link-Based GPP-DSP System

Codec Engine:

A Technical Overview of eXpressDSP-Compliant Algorithms for DSP Software Producers

Codec Engine Application Developer User‘s Guide

Codec Engine Server Integrator User‘s Guide

Codec Engine Algorithm Creator User’s Guide

?

十、文档说明

人在网络。不能总是予取予求。

特此把自己在TI双核开发上的点点肤浅经验贡献出来。

愿对同行有所帮助。共同勉励前行。

个人理解难免存在错误。欢迎批评指正。

欢迎随意转载,但请保留出处。

本文最初公布在www.ourdev.com的ARM分坛上,相关软件包,工具和版本号更新,如无特说明,均在此处。

?

十一、更新日志

2011-04-04 V1.0 创建

OMAPL138 芯片资料:

点击此处下载 ourdev_628168XW647Y.pdf(文件大小:2.24M) (原文件名称:OMAP-L138
Low-Power Applications Processor.pdf)

点击此处下载 ourdev_628169VMHHJT.pdf(文件大小:966K) (原文件名称:spru890a-OMAP59105912
Multimedia Processor DSP Subsystem Reference Guide.pdf)

点击此处下载 ourdev_628170WESIFV.pdf(文件大小:958K) (原文件名称:sprugj7d-TMS320C6748
DSP System Reference Guide.pdf)

点击此处下载 ourdev_628171RHQWTM.pdf(文件大小:1.15M) (原文件名称:sprugm7d-OMAP-L138
Applications Processor System Reference Guide.pdf)

点击此处下载 ourdev_628172JICY1X.pdf(文件大小:951K) (原文件名称:sprufk5a_TMS320C674x
DSP Megamodule Reference Guide.pdf)

点击此处下载 ourdev_628173DTV84W.pdf(文件大小:844K) (原文件名称:sprufk4d-TMS320C6745C6747
DSP System Reference Guide.pdf)

点击此处下载 ourdev_628203N3V6L3.pdf(文件大小:169K) (原文件名称:spra036-Setting
Up TMS320 DSP Interrupts in C.pdf)

外设芯片资料:

点击此处下载 ourdev_628175HKQKVZ.pdf(文件大小:195K) (原文件名称:sprufk9b-TMS320C674xOMAP-L1x
Processor Peripherals Overview Reference Guide.pdf)

点击此处下载 ourdev_628176S2IGJP.pdf(文件大小:798K) (原文件名称:sprufl1c-Enhanced
Direct Memory Access (EDMA3) Controller User‘s Guide.pdf)

点击此处下载 ourdev_628177JQSU2Y.pdf(文件大小:359K) (原文件名称:sprufl2a-Enhanced
Capture (eCAP) Module User‘s Guide.pdf)

点击此处下载 ourdev_628178J8M4CJ.pdf(文件大小:827K) (原文件名称:sprufl3b-Enhanced
High-Resolution Pulse-Width Modulator (eHRPWM) User‘s Guide.pdf)

点击此处下载 ourdev_628179VML22U.pdf(文件大小:394K) (原文件名称:sprufl4a-Enhanced
Quadrature Encoder Pulse (eQEP) Module User‘s Guide.pdf)

点击此处下载 ourdev_628180C9M3OD.pdf(文件大小:619K) (原文件名称:sprufl5a-Ethernet
Media Access Controller (EMAC)Management Data InputOutput (MDIO) Module User‘s Guide.pdf)

点击此处下载 ourdev_628181CUDHZX.pdf(文件大小:446K) (原文件名称:sprufl6e-External
Memory Interface A (EMIFA) User‘s Guide.pdf)

点击此处下载 ourdev_628182MP0MIH.pdf(文件大小:465K) (原文件名称:sprufl7a-External
Memory Interface B (EMIFB) User‘s Guide.pdf)

点击此处下载 ourdev_628183ESMPLE.pdf(文件大小:206K) (原文件名称:sprufl8b-General-Purpose
InputOutput (GPIO) User‘s Guide.pdf)

点击此处下载 ourdev_628184OL3GRG.pdf(文件大小:384K) (原文件名称:sprufl9a-Inter-Integrated
Circuit (I2C) Module User‘s Guide.pdf)

点击此处下载 ourdev_628185S4HJD0.pdf(文件大小:972K) (原文件名称:sprufm0a-Liquid
Crystal Display Controller (LCDC) User‘s Guide.pdf)

点击此处下载 ourdev_628186R9LWCA.pdf(文件大小:982K) (原文件名称:sprufm1-Multichannel
Audio Serial Port (McASP) User‘s Guide.pdf)

点击此处下载 ourdev_628187O43SK0.pdf(文件大小:315K) (原文件名称:sprufm2a-Multimedia
Card (MMC)Secure Digital (SD) Card Controller User‘s Guide.pdf)

点击此处下载 ourdev_628188IUHKKG.pdf(文件大小:175K) (原文件名称:sprufm3c-Real-Time
Clock (RTC) User‘s Guide.pdf)

点击此处下载 ourdev_628189TJN5ZI.pdf(文件大小:372K) (原文件名称:sprufm4h-Serial
Peripheral Interface (SPI) User‘s Guide.pdf)

点击此处下载 ourdev_628190AVZKPP.pdf(文件大小:349K) (原文件名称:sprufm5a-64-Bit
Timer Plus User‘s Guide.pdf)

点击此处下载 ourdev_628191AR9R6D.pdf(文件大小:204K) (原文件名称:sprufm6b-Universal
Asynchronous ReceiverTransmitter (UART) User‘s Guide.pdf)

点击此处下载 ourdev_628192MWV455.pdf(文件大小:207K) (原文件名称:sprufm7d-Host
Port Interface (HPI)  User‘s Guide.pdf)

点击此处下载 ourdev_628193CXVVMN.pdf(文件大小:299K) (原文件名称:sprufm8-Universal
Serial Bus (USB1.1) OHCI Host Controller User‘s Guide.pdf)

点击此处下载 ourdev_628194Z4RA9B.pdf(文件大小:806K) (原文件名称:sprufm9h-Universal
Serial Bus 2.0 (USB2.0) Controller User‘s Guide.pdf)

点击此处下载 ourdev_628195CIL077.pdf(文件大小:668K) (原文件名称:sprugj4-DDR2mDDR
Memory Controller User‘s Guide.pdf)

点击此处下载 ourdev_628196N7DP2D.pdf(文件大小:285K) (原文件名称:sprugj5b-Universal
Parallel Port (uPP) User‘s Guide.pdf)

点击此处下载 ourdev_628197E8KVGS.pdf(文件大小:507K) (原文件名称:sprugj6c-Multichannel
Buffered Serial Port (McBSP) Interface User‘s Guide.pdf)

点击此处下载 ourdev_628198DCWDQV.pdf(文件大小:312K) (原文件名称:sprugj8b-Serial
ATA (SATA) Controller User‘s Guide.pdf)

点击此处下载 ourdev_628199RH3BLV.pdf(文件大小:455K) (原文件名称:sprugj9a-Video
Port Interface (VPIF) User‘s Guide.pdf)

点击此处下载 ourdev_628200R9RKNX.pdf(文件大小:806K) (原文件名称:sprugp9b-Enhanced
Direct Memory Access (EDMA3) Controller User‘s Guide.pdf)

Bootloader:

点击此处下载 ourdev_628201O2B4KX.pdf(文件大小:1.51M) (原文件名称:sprab41b-Using
the OMAP-L1x8 Bootloader.pdf)

这篇文章主要讲怎样生成OMAPL138的AIS格式的UBL(U-Boot Blltloader)。

点击此处下载 ourdev_628327O0M8P6.rar(文件大小:142K) (原文件名称:AISgen_d800k006_Install_v1.6.rar)

这个是AIS生成工具。

XDC 工具集相关资料:

点击此处下载 ourdev_628207ZB8PVS.pdf(文件大小:2.11M) (原文件名称:eXpress
Dsp Components (XDC) toolset User‘s Guide.pdf)

点击此处下载 ourdev_628210I1D6OL.pdf(文件大小:57K) (原文件名称:xdc.pdf)

点击此处下载 ourdev_628211VH0SO3.pdf(文件大小:87K) (原文件名称:xdcScript.pdf)

点击此处下载 ourdev_628212K3TL4A.pdf(文件大小:117K) (原文件名称:xdcSpec.pdf)

如今TI的软件包都是使用Eclipse的RTSC标准进行软件包管理,类似于Make,但比Make更强大。只是有比这个更好的资料就是xdctools根文件夹的那个十几兆的chm说明文档。里面有个教程向导,依照那个做非常快就会知道真么用了。xdctools是进行RTSC软件包管理的工具集。

DSP BIOS:

点击此处下载 ourdev_628205DW0BUI.pdf(文件大小:76K) (原文件名称:Bios_Tconf_Language_coding_Standards.pdf)

点击此处下载 ourdev_628206K73UA6.pdf(文件大小:1.16M) (原文件名称:Bios_Tconf_User_Guide.pdf)

点击此处下载 ourdev_628208CUR9WF.pdf(文件大小:76K) (原文件名称:spraa67-DSP
BIOS Tconf Language Coding Standards.pdf)

点击此处下载 ourdev_628209QZVE8U.pdf(文件大小:1.31M) (原文件名称:spru007g-DSP
BIOS 5.20 Textual Configuration (Tconf) Userís Guide.pdf)

点击此处下载 ourdev_628214MLCXK0.pdf(文件大小:1.77M) (原文件名称:spru423-TMS320
DSP BIOS User‘s Guide.pdf)

点击此处下载 ourdev_628215PTIP0B.pdf(文件大小:851K) (原文件名称:nps77F6-TI
DSP BIOS Real-time Operating System v6.x User’s Guide.pdf)

点击此处下载 ourdev_628216L4E1HK.pdf(文件大小:2.53M) (原文件名称:nps1FC7-TMS320C55x
DSP BIOS 5.x Application Programming Interface (API) Reference Guide.pdf)

点击此处下载 ourdev_628217P6AGK7.pdf(文件大小:851K) (原文件名称:nps77F6-TI
DSP BIOS Real-time Operating System v6.x User’s Guide.pdf)

点击此处下载 ourdev_628218VFCTNC.pdf(文件大小:1.22M) (原文件名称:npsDD8E-TMS320C6000
DSP BIOS User‘s Guide.pdf)

这是TI设计的基于C6000系列DSP芯片的RTOS,最新版为第5版。假设要使用DSP Link或Codec Engine就必须使用这个。

从第6版開始改名为SYS Linux了,已经变成一个跨平台的RTOS了。

xDAIS:

点击此处下载 ourdev_628219D5GPPS.pdf(文件大小:510K) (原文件名称:nps2BA0-TMS320
DSP Algorithm Standard Rules and Guidelines.pdf)

点击此处下载 ourdev_628220U11YXP.pdf(文件大小:330K) (原文件名称:nps4C89-TMS320
DSP Algorithm Standard Developer’s Guide.pdf)

点击此处下载 ourdev_628221EUGJ0M.pdf(文件大小:76K) (原文件名称:nps6E8C-Using
the TMS320 DSP Algorithm Standard in a Dynamic DSP System.pdf)

点击此处下载 ourdev_628222EDAQTO.pdf(文件大小:66K) (原文件名称:nps8CB7-Using
the TMS320 DSP Algorithm Standard in a Static DSP System.pdf)

点击此处下载 ourdev_628223KJ7VZH.pdf(文件大小:120K) (原文件名称:nps9FEA-Techniques
for Implementing Shared Relocatable Buffers Using the TMS320 DSP Algorithm Standard.pdf)

点击此处下载 ourdev_628224QXAZE6.pdf(文件大小:453K) (原文件名称:nps299C-TMS320
DSP Algorithm Standard DSP Algorithm StaAPI Reference.pdf)

点击此处下载 ourdev_628225YVQCXP.pdf(文件大小:368K) (原文件名称:nps373-Design
and Implementation of an eXpressDSP?Compliant DMA Manager for C6X1X.pdf)

点击此处下载 ourdev_628226BFXQH6.pdf(文件大小:124K) (原文件名称:nps1272-A
Technical Overview of eXpressDSP-Compliant Algorithms for DSP Software Producers.pdf)

点击此处下载 ourdev_628227BIULLQ.pdf(文件大小:93K) (原文件名称:nps2180-The
TMS320 DSP Algorithm Standard.pdf)

点击此处下载 ourdev_628228D2F82U.pdf(文件大小:443K) (原文件名称:nps5495-TMS320
DSP Algorithm Standard Demonstration Application.pdf)

点击此处下载 ourdev_628229M66SA0.pdf(文件大小:603K) (原文件名称:spru352g
- TMS320 DSP Algorithm Standard Rules and Guidelines User‘s Guide.pdf)

点击此处下载 ourdev_628230FIIPF8.pdf(文件大小:550K) (原文件名称:spru360e
- TMS320 DSP Algorithm Standard API Reference User‘s Guide.pdf)

这是TI的DSP算法标准。全部的通用的算法必须根据这个标准进行编写。这个标准主要规定算法的接口。

同一时候这个标准把DSPproject师分为算法project师和应用project师。算法project师依照这个标准些算法,应用project师依照这个算法接口进行调用。而不用关心算法实现。

xDAIS标准算法使用RTSC进行软件包管理。所以使用这个软件包须要xdctools。

使用Codec Engine 须要xDAIS以及他的扩展xDIAS-DM。

xDM:

点击此处下载 ourdev_628231E00RUY.pdf(文件大小:92K) (原文件名称:npsDC73-xDAIS-DM
(Digital Media) User Guide .pdf)

xDM是对xDAIS进行数字多媒体方向的功能进行扩展和增强,Codec Engine中的算法必须支持这个标准。

DSP Link:

点击此处下载 ourdev_628202BWIWGQ.pdf(文件大小:1.66M) (原文件名称:spra796a_RF6-A
DSPBIOS Link-Based GPP-DSP System.pdf)

点击此处下载 ourdev_628232PPBYCX.mht(文件大小:254K) (原文件名称:Adding
a new DSPLink DSP Executable loader - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628233KPEXHS.mht(文件大小:266K) (原文件名称:Building
DSPLink - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628234S6D0VN.mht(文件大小:261K) (原文件名称:Changing
DSPLink Memory Map - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628235SDZZOT.mht(文件大小:252K) (原文件名称:Changing
DSPLink POOL size - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628236ALO0M5.mht(文件大小:271K) (原文件名称:Codec
Engine Link Config - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628237TJ7AAI.mht(文件大小:256K) (原文件名称:Codec
Engine Roadmap - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628238HNNHNR.mht(文件大小:264K) (原文件名称:Community
Linux PSP for DA8x-OMAP-L1-AM1x - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628239MCD26R.mht(文件大小:252K) (原文件名称:Configuring
DSPLink Dynamically - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628240PNEY0J.mht(文件大小:268K) (原文件名称:Determining
DSPLink shared memory size requirements - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628241JAYNWB.mht(文件大小:257K) (原文件名称:Getting
Started Guide for OMAP-L1 - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628242FTKYX2.mht(文件大小:182K) (原文件名称:Getting
Started Guide for OMAP-L138 (old) - Texas Instruments eXpressDSP Software Wiki.mht)

点击此处下载 ourdev_628243P3VVG9.mht(文件大小:35K) (原文件名称:TI
DAVINCI开发原理(总共5部分)(页 1) - DaVinci开源共享 - TI中文代码工厂(国内最大的TI中文资源门户站点) - Powered by Discuz! Archiver.mht)

点击此处下载 ourdev_628244BO9L3T.pdf(文件大小:776K) (原文件名称:MigrationGuide.pdf)

点击此处下载 ourdev_628245OP1OMP.pdf(文件大小:583K) (原文件名称:ProgrammersGuide.pdf)

点击此处下载 ourdev_628246HHJDL9.pdf(文件大小:804K) (原文件名称:UserGuide.pdf)

点击此处下载 ourdev_628247S4DA2C.pdf(文件大小:342K) (原文件名称:LNK_010_DES_Processor
Manager design document.pdf)

点击此处下载 ourdev_628248YBBXC6.pdf(文件大小:474K) (原文件名称:LNK_012_DES_Link
Driver design document.pdf)

点击此处下载 ourdev_628249KZDKI1.pdf(文件大小:395K) (原文件名称:LNK_024_DES_OS
Adaptation Layer for Linux.pdf)

点击此处下载 ourdev_628250GS0IG2.pdf(文件大小:581K) (原文件名称:LNK_031_DES_Messaging
Component design document.pdf)

点击此处下载 ourdev_628251SJMB95.pdf(文件大小:248K) (原文件名称:LNK_040_DES_DSP
Executable Loader design document.pdf)

点击此处下载 ourdev_628252FH8XEJ.pdf(文件大小:503K) (原文件名称:LNK_041_DES_Zero
Copy Link Driver design document .pdf)

点击此处下载 ourdev_628253RI9L5M.pdf(文件大小:192K) (原文件名称:LNK_082_DES_Pool
design document.pdf)

点击此处下载 ourdev_628254JRIB3X.pdf(文件大小:438K) (原文件名称:LNK_128_DES_IPS
& Notify.pdf)

点击此处下载 ourdev_628255SA2CIR.pdf(文件大小:350K) (原文件名称:LNK_129_DES_RINGIO.pdf)

点击此处下载 ourdev_628256BM4IH2.pdf(文件大小:224K) (原文件名称:LNK_131_DES_MPLIST
design.pdf)

点击此处下载 ourdev_628257RDKITG.pdf(文件大小:142K) (原文件名称:LNK_132_DES_PCI
Link Driver Design.pdf)

点击此处下载 ourdev_628258W366A2.pdf(文件大小:172K) (原文件名称:LNK_133_DES_MPCS
design.pdf)

点击此处下载 ourdev_628259E2725L.PDF(文件大小:306K) (原文件名称:LNK_137_DES_Dynamic
Configuration design document.PDF)

点击此处下载 ourdev_628260SNJ7MQ.pdf(文件大小:155K) (原文件名称:LNK_157_DES_Enhanced
Multi-process support design.pdf)

点击此处下载 ourdev_628261U9LLSO.pdf(文件大小:137K) (原文件名称:LNK_181_DES_MMU
Dynamic entry support (OMAP).pdf)

点击此处下载 ourdev_628262PVPSRM.pdf(文件大小:318K) (原文件名称:LNK_182_DES_Multi-DSP
Design.pdf)

点击此处下载 ourdev_628263TDS5GY.pdf(文件大小:149K) (原文件名称:LNK_207_DES_Configurable
TSK and SWI approach.pdf) 

Davinci架构下双核通信的最底层实现,支持DSP BIOS5和SYS BIOS6。

可是在下一代的DSP Link改名为SYS Link,同一时候在SYS BIOS 6中添加了IPC模块,功能大为增强。不再须要CMem。

Davinic:

点击此处下载 ourdev_628264HP0WTD.pdf(文件大小:2.51M) (原文件名称:DaVinci技术概览.pdf)

点击此处下载 ourdev_628281O73AKB.mht(文件大小:492K) (原文件名称:crazyren的共享空间
Davinci学习.mht)

点击此处下载 ourdev_628282LGQTT2.mht(文件大小:553K) (原文件名称:Davinci
DM6446 Codec Engine双核通信环境的搭建.mht)

点击此处下载 ourdev_628283KIMKRS.doc(文件大小:148K) (原文件名称:DAVINCI开发原理具体说明.doc)

点击此处下载 ourdev_628291O4PZX0.mht(文件大小:161K) (原文件名称:双核处理器ARM+DSP怎样实现协同工作.mht)

SYS Linux(新一代DSP Link):

点击此处下载 ourdev_628265M79FCB.pdf(文件大小:234K) (原文件名称:IPC_Install_Guide.pdf)

点击此处下载 ourdev_628266G7BKYD.pdf(文件大小:667K) (原文件名称:IPC_Users_Guide.pdf)

点击此处下载 ourdev_628267GCIL3D.mht(文件大小:289K) (原文件名称:SysLink
MigrationGuide - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628268XPXWNJ.mht(文件大小:771K) (原文件名称:Syslink
Project - OMAPpedia.mht)

点击此处下载 ourdev_628269SA1WPR.mht(文件大小:767K) (原文件名称:SysLink
UserGuide - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628270VYIBMP.pdf(文件大小:77K) (原文件名称:SysLink_02.00.00.56_alpha2_DataSheet.pdf)

点击此处下载 ourdev_628271N2DEGR.pdf(文件大小:200K) (原文件名称:SysLink_02.00.00.56_alpha2_InstallGuide.pdf)

点击此处下载 ourdev_628272C3ZKWG.pdf(文件大小:727K) (原文件名称:SysLink_UserGuide.pdf)

点击此处下载 ourdev_628273B2JHWL.mht(文件大小:254K) (原文件名称:Troubleshooting
SysLink Build Issues - Texas Instruments Embedded Processors Wiki.mht)

CMEM

点击此处下载 ourdev_628275V1LH23.mht(文件大小:416K) (原文件名称:A
CMEM Error running DM6467 decode Demo.mht)

点击此处下载 ourdev_628276MH77YQ.mht(文件大小:355K) (原文件名称:Access
CMEM from the DSP on DM6446.mht)

点击此处下载 ourdev_628277OCLFPM.mht(文件大小:267K) (原文件名称:CMEM
Overview - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628278N1SF1M.mht(文件大小:377K) (原文件名称:CMEM
Error in my Codec Engine Application.mht)

点击此处下载 ourdev_628279Z79LRL.mht(文件大小:198K) (原文件名称:CMEM
Overview.mht)

点击此处下载 ourdev_628280CRHRY2.mht(文件大小:290K) (原文件名称:CMEM
usage - DM3x DaVinci Video Processor Forum.mht)

点击此处下载 ourdev_628284AYNMUY.mht(文件大小:1.14M) (原文件名称:Davinci平台上memory
map的设计步骤.mht)

点击此处下载 ourdev_628285KUOBEX.mht(文件大小:90K) (原文件名称:Davinci上两个驱动cmemk_ko和dsplink_ko的编译过程.mht)

点击此处下载 ourdev_628286OLPBU5.mht(文件大小:314K) (原文件名称:DM368
CMEM setting over 128MB area.mht)

点击此处下载 ourdev_628287IBLDB4.PDF(文件大小:1.19M) (原文件名称:Mastering
the Art of Memory Map Configuration for Systems.PDF)

点击此处下载 ourdev_628288LE1W9J.PDF(文件大小:395K) (原文件名称:Multicore
Programming Guide.PDF)

点击此处下载 ourdev_628289QZ7TOC.mht(文件大小:322K) (原文件名称:Re
CMEM usage - DM3x DaVinci Video Processor Forum.mht)

点击此处下载 ourdev_628290MXRKZ3.mht(文件大小:192K) (原文件名称:TI
DSP-BIOS的存储管理具体解释.mht)

由于DSP Link的设计缺陷,无法分配大片的连续共享内存,由于DSP使用的是实地址,ARM使用的是虚地址,不连续的内存会使DSP訪问出错。所以另外又弄了个CMem用于分配物理连续的共享内存。

CMem的源代码是在linuxutils软件包中,这里我提供一个抽离出来的版本号,这个软件包非常easy了。

点击此处下载 ourdev_628330CYE2RS.rar(文件大小:378K) (原文件名称:cmem.rar)

仅仅需改动该顶级文件夹中的Makefile中的交叉编译器前缀核内核源代码位置,就可以直接编译。

在新一代的SYS Link中就不须要这个了。

Framework Components:

点击此处下载 ourdev_628310ADVBFM.pdf(文件大小:298K) (原文件名称:FrameworkComponents_DSKT2_UserGuide.pdf)

点击此处下载 ourdev_628311LU12JH.pdf(文件大小:576K) (原文件名称:FrameworkComponents_IRES_RMAN_AppNote.pdf)

点击此处下载 ourdev_628312HX0EDI.pdf(文件大小:835K) (原文件名称:FrameworkComponents_UsingDMA_AppNote.pdf)

用于DSP端的硬件资源管理,内存分配等。

Codec Engine须要这个进行算法内存分配。

EDMA3:

点击此处下载 ourdev_628313PP2S6R.pdf(文件大小:671K) (原文件名称:EDMA3_Driver_User_Guide.pdf)

点击此处下载 ourdev_628314WG30LO.pdf(文件大小:160K) (原文件名称:EDMA3_RM_Datasheet.pdf)

点击此处下载 ourdev_628315V86DO5.pdf(文件大小:488K) (原文件名称:EDMA3_RM_User_Guide.pdf)

DSP的EDMA函数库,Codec Engine须要这个进行传输数据。

Codec Engine:

点击此处下载 ourdev_628292SFWT5G.mht(文件大小:371K) (原文件名称:Codec
Engine - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628293F2YD1F.mht(文件大小:394K) (原文件名称:Codec
Engine Application Developers Guide - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628294COL4G9.mht(文件大小:247K) (原文件名称:Codec
Engine Examples - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628295E01M0H.mht(文件大小:363K) (原文件名称:Codec
Engine FAQ - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628296VHZ5BX.mht(文件大小:248K) (原文件名称:Codec
Engine Known Issues - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628297F6KVX3.mht(文件大小:247K) (原文件名称:Codec
Engine Overview - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628298ABWTL6.mht(文件大小:254K) (原文件名称:Codec
Engine Roles - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628299I8KLGB.mht(文件大小:291K) (原文件名称:Codec
Engine Server Integrator User‘s Guide - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628300USYBME.mht(文件大小:308K) (原文件名称:Codec
Servers FAQ - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628302URP78R.mht(文件大小:467K) (原文件名称:Quickly
Getting Started on TI Codec Engine - Texas Instruments Embedded Processors Wiki.mht)

点击此处下载 ourdev_628303AU7091.mht(文件大小:283K) (原文件名称:帮您高速入门
TI 的 Codec Engine - TI_com.mht)

点击此处下载 ourdev_628304HIJXPK.pdf(文件大小:323K) (原文件名称:spraa96a
- Encode Demo for the DVEVM DVSDK 1.2 .pdf)

点击此处下载 ourdev_628305XC1TS0.pdf(文件大小:336K) (原文件名称:spraag9a
- Decode Demo for the DVEVM DVSDK 1.2.pdf)

点击此处下载 ourdev_628306OBN1V6.pdf(文件大小:373K) (原文件名称:sprue67d
- Codec Engine Application Developer User‘s Guide.pdf)

点击此处下载 ourdev_628307OUWA0L.pdf(文件大小:202K) (原文件名称:sprued5b
- Codec Engine Server Integrator User‘s Guide.pdf)

点击此处下载 ourdev_628308LGEIE4.pdf(文件大小:260K) (原文件名称:sprued6c
- Codec Engine Algorithm Creator User’s Guide.pdf)

Codec Engine事实上就是RPC远程调用。底层实现依赖于DSP Link核CMem,DSP端还要EDMA3,FC。在上层,相应用提供xDM接口。

Codec Engine的开发人员主要分4类,算法开发project师,应用开发project师,server集成project师核系统集成project师。最后两项一个人干就能够了,看上面的文档就知道。

Codec Engine不支持新一代的SYS Link。

点击此处下载 ourdev_628319T1QCVN.rar(文件大小:4.77M) (原文件名称:dsplink_1_65.part1.rar)

点击此处下载 ourdev_628320GBNW0O.rar(文件大小:4.77M) (原文件名称:dsplink_1_65.part2.rar)

点击此处下载 ourdev_628321J1OKUN.rar(文件大小:4.77M) (原文件名称:dsplink_1_65.part3.rar)

点击此处下载 ourdev_628322JMYXZL.rar(文件大小:4.77M) (原文件名称:dsplink_1_65.part4.rar)

点击此处下载 ourdev_628323FFVBUC.rar(文件大小:4.07M) (原文件名称:dsplink_1_65.part5.rar)

这是我改动过的dsplink,仅仅是在1_65版基础上改动了Makefile后打包而成的。方便编译而已。编译时仅仅须要改动顶层的Maefile中各种工具及软件包路径。还有就是依据自己须要改动软件包的配置,即把DSPLINK_CONFIG变量改动为你须要的值。

这个是从dsplink的样例中抽离出来的loop样例程序。能够脱离dsplink的编译系统进行编译。

ourdev_628325RJWVYG.rar(文件大小:390K) (原文件名称:loop.rar)

假设要自己搭建OMAP L138开发环境,优先推荐看这篇文章。

点击此处下载 ourdev_628326R1SWV7.mht(文件大小:300K) (原文件名称:Building
The OMAP-L1 SDK.mht)

时间: 2024-10-24 12:37:45

基于TI Davinci架构的多核/双核开发高速扫盲(以OMAP L138为例),dm8168多核开发參考以及达芬奇系列资料user guide整理的相关文章

基于TI Davinci架构的多核/双核开发快速扫盲(以OMAP L138为例),dm8168多核开发参考以及达芬奇系列资料user guide整理

基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 原文转自http://blog.csdn.net/wangpengqi/article/details/8115614 感谢wangpengqi的共享. 一.简介 TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然现在也有管脚全兼容的单核.本文要介绍的就是其中的一款低功耗处理器OMAP L138. OMAP L138包括一个主频300M的ARM9处理器内核和一个300M的C6748DSP内核(均

TI DaVinci(达芬奇)入门

(转载来自 德州仪器半导体技术(上海)有限公司 通用DSP 技术应用工程师 崔晶 德州仪器(TI)的第一颗达芬奇(DaVinci)芯片(处理器)DM6446已经问世快三年了.继DM644x之后,TI又陆续推出了DM643x,DM35x,DM6467,OMAP353x等一系列ARM+DSP或ARM+视频协处理器的多媒体处理器平台.很多有很强DSP开发经验或ARM开发经验的工程师都转到达芬奇或通用OMAP(OMAP353x)平台上开发视频监控.视频会议及便携式多媒体终端等产品.大家都面临着同一个问题

基于TI AM5728浮点双DSPC66x+双ARMCortex-A15开发板

TL5728-IDK是一款广州创龙基于SOM-TL5728核心板设计的开发板,底板采用沉金无铅工艺的4层板设计,它为用户提供了SOM-TL5728核心板的测试平台,用于快速评估SOM-TL5728核心板的整体性能.不仅提供丰富的AM5728入门教程和Demo程序,还提供DSP+ARM多核通信开发教程,全面的技术支持,协助用户进行底板设计和调试以及DSP+ARM软件开发.开发板简介基于TI AM5728浮点双DSPC66x+双ARMCortex-A15工业控制及高性能音视频处理器:多核异构CPU,

基于C/S架构的3D对战网络游戏C++框架 _05搭建系统开发环境与Boost智能指针、内存池初步了解

本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): 1.实现基本通信框架,包括对游戏的需求分析.设计及开发环境和通信框架的搭建: 2.实现网络底层操作,包括创建线程池.序列化网络包等: 3.实战演练,实现类似于CS反恐精英的3D对战网络游戏: 技术要点:C++面向对象思想.网络编程.Qt界面开发.Qt控件知识.Boost智能指针.STL算法.STL.

Zigbee通讯之开发篇(基于TI 的Z-Stack)

1.Zigbee协议和Z-Stack   Zigbee协议和Z-Stack是什么关系?这可能是初学Zigbee同学想知道的问题.给大家举个例子吧,我们生活中使用的插排是要符合一定的标准的,现在国家标准是GB2099.3-2008,里面规定了好多插排的电气.机械等要求.不同厂家生产的插排,要在中国国内销售的话,必须符合这个标准.但是生产这个插排的厂家多了去了,像 公牛.philips等等(排除做广告的嫌疑).其实Zigbee协议栈规范和Z-Stack的关系也差不多,Z-Stack就是符合Zigbe

was集群下基于接口分布式架构和开发经验谈

某b项目是我首次采用was环境下架构和开发的手机wap应用,尽管做到了该项目的主程,但对此项目的全面构件依然有不清楚的地方,因此在这里我只能简单的谈谈开发中遇到的问题怎么处理和应对办法. 记得第一天接触这个项目时,只记得些案例代码(不知道那些是对的,那些是错的)似曾相识,但不懂如何动手写下第一个helloword,因其中的基于接口开发的ejb的架构以前根本就没接触过.好了,没办法,于是只有硬着头皮去尝试第一个基于接口开发的ejb的第一个查询方法(呵呵最简单了吧).因为一切都是新的,一没有相对完整

基于TI AM335x创龙开发板的快速体验

着手体验的是创龙TL335x-IDK,这个板子的特点如下: 基于 TI AM335x ARM Cortex-A8 CPU,主频可高达 1GHz,运算能力可高达 2000DMIPS,搭配DDR3,兼容 eMMC 和 NAND FLASH,超高性价比: 2 个 PRU 协处理器,支持 EtherCAT.PROFINET.EtherNet/IP.PROFIBUS.Ethernet POWERLINK.Sercos 等工业协议: 内部集成 SGX530 3D 图形加速器和 24bit LCD 触摸屏控制

基于TI AM335x创龙开发板U-Boot编译

分享一下基于广州创龙TL335x-IDK开发板的U-Boot编译.希望能帮助上你. 板子特点如下: ? 基于 TI AM335x ARM Cortex-A8 CPU,主频可高达 1GHz,运算能力可高达 2000DMIPS,搭配DDR3,兼容 eMMC 和 NAND FLASH,超高性价比: ? 2 个 PRU 协处理器,支持 EtherCAT.PROFINET.EtherNet/IP.PROFIBUS.Ethernet POWERLINK.Sercos 等工业协议: ? 内部集成 SGX530

创龙基于TI AM5708多通道振动数据采集处理单元的应用

创龙基于TI AM5708多通道振动数据采集处理单元的应用此产品案例来源于:创龙电子创龙基于TI AM5708处理器设计的开发板,广泛应用于机器视觉.电力自动化.智能交通.医疗器械.自动分拣装置.高精度仪器仪表.高端数控系统等多种工业应用场合.TI AM5708器件通过其极具灵活性的全集成混合处理器解决方案,可实现较高的处理性能.此外,这些器件还将可编程的视频处理功能与高度集成的外设集完美融合, 为用户带来全新的数据计算性能和方案灵活性. 下面简单讲解一下创龙基于TI AM5708多通道振动数据