Davinci调试环境的搭建(一)

2019-07-14 03:46发布

  说明:本文的内容都是本人从网上各处copy拼凑而来,若是出本书的话,实在是非常符合“编著”这个词(虽然我心里对这个词总有些不以为然),所以标的是原创,却并没有什么原创性,只是略加整理,便于参考而已。     Davinci调试环境的搭建       目录 一、达芬奇(DaVinci)技术介绍 1TMS320DM6446的结构特点 2、达芬奇技术及其芯片的应用和开发前景 二、Davinci调试环境搭建的几大步 1Davinci调试环境搭建所需软件 2Davinci调试环境搭建及使用总体步骤 三、搭建linux环境 四、安装ARM程序的编译环境 1、安装ARM交叉编译环境 1搭建MontaVista Linux开发环境 2安装dvsdk工具链 3dvsdk工具链的路径配置 2、系统配置 1设置NFS 2设置DHCP服务器 3)配置samba服务 4设置DVEVM 5)编译调试工具框图 五、安装DSP程序的编译环境 1、安装CCS3.3 2、安装TDS560USB驱动 1)安装TDS560USB驱动时注意事项 2USB设备驱动程序安装 3)安装TDS560USB仿真器工具软件 3、进行CCS setup 4、运行CCS 六、程序编译 1、在Windows上编译DSP端运行库 2、在Linux中编译DSP可执行程序 3、在Linux中编译ARM可执行程序 4、启动板卡,执行程序 六、脱机运行 1,烧写uboot 1)编译uboot 2)烧写uboot 2,烧写Linux内核 1)编译Linux内核 2)烧写Linux内核 3,烧写根文件系统 1)制作ramdisk 2)烧写ramdisk  

一、            达芬奇(DaVinci)技术介绍

面对日新月异的多媒体标准与应用,德州仪器公司提供了基于达芬奇(DaVinci)技术及其产品(如TMS320DM6446)的解决方案,以简化数字视频创新。包括基于数字信号处理器(DSP)的片上系统(SoC)以及多媒体编解码器、应用编程接口(API)、框架与开发工具等。 达芬奇技术由达芬奇处理器、达芬奇软件、达芬奇开发工具和达芬奇技术支持系统等组件优化构成。其中,达芬奇处理器基于业界最高性能的DSP平台-TI TMS320C6000,利用了TI最新的C64x+ DSP内核。达芬奇处理器包含基于可扩展、可编程DSPSoC(可从DSPARM内核进行定制),同时还包含优化的加速器与外设,以全方位满足各种数字视频终端设备对价格、性能以及功能等多方面的需求。 运行于达芬奇处理器之上的达芬奇软件充分利用芯片资源。其内置于可配置的框架内,通过流行操作系统内部已公布的API提供,以实现快速的软件实施。 达芬奇技术为各种应用领域及设计提供一系列工具与套件,其中包括:低成本入门工具、完整的开发套件以及参考设计,以加速OEM厂商的设计与开发进程。ARM/DSP集成开发环境(IDE)、操作系统工具以及DSP工具使开发人员能够在熟悉的环境中编程,同时还能获得达芬奇技术的优势。TMS320DM6446芯片就是达芬奇(DaVinci)技术的杰出代表。

1TMS320DM6446的结构特点

TMS320DM6446的结构图如图1所示。   DM6446结构图   结构特点 1)高性能。采用低功耗、高性能的32TMS320C64x内核和ARM926EJ-S内核,工作频率分别高达594MHz297MHz;支持多媒体处理技术,采用的是TMS320C64x DSP内核,增强了对视频和音频的解码能力。 2)低功耗。多电源管理模式,双内核电压供给为1.6VARM926EJ-S内核具有16KB指令和8KB数据CacheTMS320C64x DSP内核具有32KB程序RAM/Cache80KB数据RAM/Cache64KB未定义RAM/Cache;支持3.3V1.8VI/O接口和存储器接口。
3)专用的视频图像处理器和视频处理子系统。专用的视频图像处理器用于对视频数据处理;视频处理子系统包括1个视频前端输入接口和1个视频末端输出接口,视频前端输入接口用于接收外部传感器或视频译码器等图像,视频末端输出接口输出图像到SDTVLCDHDTV等显示屏上。 4)存储容量。有256MB32DDR2 SDRAM存储空间,128MB16FLASH存储空间。 5)众多的外设。64通道增强型DMA控制器;串行端口(3UARTs SPI、音频串口);364位通用定时器;10/100M以太网;USB2.0端口;3PWM端口;多达71个通用I/O口;支持MMC/SD/CF卡等。 6)时钟控制。时钟源:27MHz系统振荡器;24MHzUSB振荡器。 ARM926EJ-S内核 ARM926EJ-S内核是采用管道化流水线的32RISC处理器,同时配备Thumb扩展。它能够处理32位或16位的指令和8位、16位、32位的数据。它通过使用协处理器CP15和保护模块使体系结构得到增强,并提供数据和程序内存管理单元(MMU)。 MMU具有两个64项的转换旁路缓存器(TLB)用于指令和数据流,每项均可映射存储器的段、大页和小页。为了保证内核周期的存取指令和数据,提供了独立的16K字节指令Cache8K字节数据Cache,指令和数据Cache都是通过VIVT四路连接。另外,还提供一个写缓冲用于提升内核性能,其缓冲数据容量高达17字。 TMS320C64x DSP内核 TMS320C64x DSP内核构建在VelociTI.2体系结构的基础上,是VelociTI.2体系结构的进一步增强,以其C64x内核的先进超长指令字(VLIW)结构,获得当前应用设备所需要的极高性能。 在结构上其特点为:1)C64x片内有2个数据通道、8个功能单元和2个一般目的寄存器文件(AB)。而8个功能单元和2个寄存器文件又分成了相同的两组,每组占用一个数据通道。两个数据通道之间包含有两个数据交叉通路。2)C64xDSP采用超长指令字(VLIW),即在每个时钟周期最高可提供832位指令,总字长为256位的指令包同时分配到8个并行处理单元。在594MHz的时钟频率下,当片内8个处理单元同时运行时,其最大处理能力可以达到4800MIPS3)C64x DSP具有双16bit扩充功能,芯片能在一个周期内完成双16位的乘法、加减法、比较、移位等操作。C64x通过把DSP运算压缩在较少的周期里,加速通信和图像应用。在增强并行性的扩展中,四组8/两组16位指令允许每秒进行约90亿次8位乘法上累加周期(MAC)运算。 系统控制功能 TMS320DM6446微处理器的系统控制模块提供了看门狗(WT)、中断控制器、电源管理控制器、复位控制器及2个片上振荡器。 视频处理子系统(VPSS TMS320DM6446中的视频处理子系统有两个接口,分别为用于视频输入的视频前端输入(VPFF)接口和用于图像输出的视频末端输出(VPBE)接口。 视频前端输入(VPFE)接口由1CCD控制器(CCDC)1个预处理器、柱状模块、自动曝光/白平衡/聚焦模块(H3A)和寄存器组成。CCD控制器可以与视频解码器、CMOS传感器或电荷耦合装置连接;预处理器是一个实时的图形处理器,它把CMOSCCD得到的原始图形从RGB(三原 {MOD})转变为YUV4:2:0编码;柱状模块和H3A模块则提供原始图形信息。 视频末端输出(VPBE)接口由1个在线视频显示处理器(OSD)和1个视频编码器组成。在线视频显示处理器既能够显示两组独立的视频窗口或两组独立的OSD窗口,还可以以1个视频窗口、1OSD窗口和1个属性窗口的形式显示。视频解码器以54MHz进行D/A转换,可以提供NTSC/PALS等格式的视频或音频输出。 电源管理 TMS320DM6446有三种电源管理模式:备用电源模式、低功耗运行模式和正常运行模式。备用电源模式下运行的功耗是最低的,DSP核和视频处理器子系统都不运行,除了通用I/OUARTPWM运行以外,其他的外设都不运行,而且只有27MHz时钟工作。低功耗模式下,仅仅运行一些ARM的基本功能,DSP核和视频处理器子系统也都不运行,除了通用I/OUARTPWMSPI和定时器运行以外,其他的外设都不运行,而且也是只有27MHz时钟工作。正常运行模式下,除了所有的模块和外设都可以运行外,两个时钟也正常运行。 外部存储器接口 TMS320DM6446中有与几种形式的外部存储器接口:异步EMIFANOR FlashSDRAM)、NARD Flash以及CF卡等。异步EMIFA包括18位或16位数据线,124位地址总线,4个专用片选线,支持的存储接口有NANDATA/CF、主机端接口。NAND接口包括的存储类型有NAND卡、SM卡和xD卡。DDR2存储控制器用于与16位或32位的DDR2 SDRAM连接。DDR2 SDRAM在达芬奇(DaVinci)技术中有很重要的作用,它可以用来缓冲视频输入图形数据,作为OSD的缓冲器,存储ARMDSP代码等。 外围控制模块 TMS320DM6446364位通用定时器和3PWM模块。其中定时器01具有32位通用定时器模式,定时器2具有WD模式以及产生ARMDSP中断,产生EDMA同步事件。而PWM模块既可以作周期性记数,也可以作重复记数。 TMS320DM6446微处理器有64个独立的通道高级DMA控制器。DMA控制器用于可响应内部和外部设备的请求。在MPU TI926(ARM926EJ-S)运行条件下,完成外部寄存器/内部寄存器和外部设备之间的数据传输。DMA的设置取决于MPU TI926(ARM926EJ-S)内核。 GPIO外设控制器可以配置通用管脚为输入或输出。当配置为输出管脚时,写内部寄存器可以控制输出管脚的状态。当配置为输入管脚时,可以通过读内部寄存器的状态位知输入的状态。此外,GPIO外设可以产生CPU中断和DMA事件。GPIO管脚以16个为一列,它支持的功能如下:541.8V GPIO管脚和173.3V GPIO管脚;从O列开始每列有8GPIO[0:7]中断,可以在上升沿或下降沿触发中断等。 TMS320DM6446支持多种串行接口:(13UART接口,其中UART2具有的功能是:对于接收器和发送器的FIFO16个字节的存储空间,DMA既可以接收数据也可以发送数据,在自动控制时可编程自动发送请求和自动清除请求,还具有内部诊断功能。(2SPI外设,它提供一个可编程长度寄存器,通过3