基于tidavinci架构的多核/双核开发高速扫盲(以omapl138为例),dm8168多核开发參考以及达芬奇系列资料userguide整理

llguanli llguanli     2022-09-06     541

关键词:

基于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)

tricore架构多核多线程锁探究(tc264双核互斥锁)(代码片段)

序言现在TriCore架构已经是一个十分成熟的架构,并广泛用于新能源行业各类控制器。从TC1.3.1开始有了很多重大的调整。新增了几个指令,有了全流水线结构的浮点单元等。大家想详细了解也可以去翻阅数据手册中Summaryof... 查看详情

micro-service:springcloud科普扫盲

SpringCloud是一个基于SpringBoot实现的微服务架构开发工具,它为基于JVM的微服务开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一站式的开发框... 查看详情

基于多核平台的高速网络流量实时捕获方法(代码片段)

设计了基于DPDK的包捕获系统,以及把包分配到不同队列的hash算法且实现核心的负载均衡。传统报文处理流程缺点多次中断。多次拷贝,占用总线资源,降低cache利用率。根据Linux报文处理,分析性能瓶颈Linux下也有很多加速数据... 查看详情

ti基于dsp+arm的双核架构如何相互通信

1通信结构简介针对当前应用的复杂性,SOC芯片更好能能满足应用和媒体的需求,集成众多接口,用ARM做为应用处理器进行多样化的应用开发和用户界面和接口,利用DSP进行算法加速,特别是媒体的编解码算法... 查看详情

基于c66x+国产fpga高速数据处理板架构

目录概述C66x处理器内核C66x流水线结构概述C66XDSP是最新一代定点和浮点DSP,由4个乘法器组成,以实施单精度浮点运算。C66XDSP内核可同时运行多大8项浮点乘法运算,加之高达1.4GHz的时钟频率,使其具有很高的浮点... 查看详情

多核cpu的主频如何计算?

...间是相同设计的,并没有叠加计算主频的情况。CPU的核心架构在发展到多核的时候,目的主要为了多任务的并行处理更快捷方便,因为老的单核流水线形式已经无法满足日渐增长的多任务需求,而每个核心的频率又无法继续大幅... 查看详情

您如何设计基于 Erlang/OTP 的分布式容错多核系统的架构?

】您如何设计基于Erlang/OTP的分布式容错多核系统的架构?【英文标题】:HowdoyoudesignthearchitectureofanErlang/OTP-baseddistributedfault-tolerantmulticoresystem?【发布时间】:2011-11-1013:55:41【问题描述】:我想构建一个基于Erlang/OTP的系统来解决... 查看详情

基于车路协同技术的智慧高速系统架构分析

基于车路协同技术的智慧高速系统架构分析基于车路协同技术的智慧高速建设思路主要围绕“智能监测、信息共享、协同管理、智慧服务、辅助决策”的智慧高速内涵,提出“123”的总体建设内容。2.1一个平台业务应用与大... 查看详情

迅为推出最新强悍开发板-i.mxq6四核开发板稳定运行强劲开发

i.MX6系列推出了基于ARM?CortexTM-A9架构的包括单核、双核和四核在内的高扩展性多核系列应用处理器平台,促进了消费电子、工业和汽车车载娱乐系统等新一代应用的发展。通过与ARMCortex-A9架构的高效处理能力、前沿性的2D与3D图形... 查看详情

嵌入式工程师进阶,基于am64x开发板的ipc多核开发案例分享

前言本文档主要说明AM64x基于IPC的多核开发方法。默认使用AM6442进行测试演示,AM6412测试步骤与之类似。适用开发环境如下:Windows开发环境:Windows764bit、Windows1064bit虚拟机:VMware15.5.5Linux开发环境:Ubuntu18.04.464bitLinuxProcessorSDK:ti... 查看详情

多核片上系统(soc)架构的嵌入式dsp软件设计

...计MulticoreaSystem-on-a-Chip(SoC)ArchitectureSoCs的软件开发涉及到基于最强大的计算模型在各种处理单元之间划分应用程序。这可能需要大量的试用anderror来建立正确的分区。在高层次上,SoCpartitioning算法如下:      ... 查看详情

迅为-imx6开发板飞思卡尔imx6q开发板工业级开发板

概述i.MX6系列推出了基于ARM?CortexTM-A9架构的包括单核、双核和四核在内的高扩展性多核系列应用处理器平台,促进了消费电子、工业和汽车车载娱乐系统等新一代应用的发展。通过与ARMCortex-A9架构的高效处理能力、前沿性的2D与3D... 查看详情

搜狗高速浏览器下载|搜狗高速浏览器免费下载

我在用搜狗高速浏览器时兼容模式据说是基于IE内核开发的。一些网站如网银相关网站,对IE有很好的兼容性。因此如果打不开一些网站时,可以将搜狗浏览器设置为兼容模式再试一试。搜狗高速浏览器下载链接软件介绍搜狗高... 查看详情

severless扫盲

...。  BaaS(Backend-as-a-Service)包含了后端服务组件,它是基于API的第三方服务,用于实现应用程序中的核心功能,包含常用的数据库、对象存储、消息队列、日志服务等等。      还有一些其他的XaaS名词  PAAS&... 查看详情

docker的扫盲-基本常识

...1.2docker发布的官网2.官网:http://www.docker.com1.3docker的架构 1.4docker常用命令启动docker:systemctl start   查看详情

基于omapl138+fpga核心板多核软件开发组件mcsdk开发入门(上)

本文测试板卡为创龙科技SOM-TL138F是一款基于TIOMAP-L138(定点/浮点DSPC674x+ARM9)+紫光同创Logos/XilinxSpartan-6低功耗FPGA处理器设计的工业级核心板。核心板内部OMAP-L138与Logos/Spartan-6通过uPP、EMIFA、I2C通信总线连接,并通过工业级B2B连接... 查看详情

请问多核cpu还需要超线程技术吗?还有多核cpu的带宽怎样计算?

...竟物理内核只有一个,没发根正真的双核比的。现在物理多核处理器都不带超线程技术了。带宽就是FSB(前端总线)分2种情况,intel的是外频*4,比如我的P42.8外频是200M,FSB=200*4=800M。AMD的cpu内部就集成了内存管理器(以前内存... 查看详情

omapl138fpga三核高速数据采集处理核心平台方案

...口;支持实时系统,控制延时;支持DSP和ARM的多核通信,提供丰富的采样demo;支持图形界面编程,触控!1.OMAP-L138+FPGA开发板简介    深圳信迈设计的XM138F-IDK-V3是一款DSP+ARM+FPGA三核高速数据... 查看详情