
TMS320C6474
以TI的DSP芯片TMS320C6474为核心芯片,驱动开发过程中总结的文档
嵌入式小胖
一个自命不凡的电子厂打工仔
展开
-
DSP/BIOS程序中的printf
在DSP/BIOS的系统程序中,一般可以利用printf和LOG_printf两种方式来打印系统消息,但printf和LOG_printf是有区别的,在DSP/BIOS这样的实时性操作系统中,建议不要采用printf来打印调试信息,而选用LOG_printf来打印消息。这是由于printf打印会耗费较长时间,约为几十微秒,这样就会严重影响操作系统的实时性。 关于L...原创 2020-05-05 21:52:17 · 1211 阅读 · 0 评论 -
CCS中自定义内存的方法
在基于TMS320C6474芯片的驱动开发和应用程序开发过程中,可能需要分配一块独立的内存来使用,那么如何在CCS中自定义内存呢?1. 复制.cmd文件,删除文件中原有的内容;2. 通过MEMORY伪指令来指示存储空间MEMORY{ NEWSECT: origin = 0x8300000 length = 0x00001000 . ...原创 2020-05-05 21:39:56 · 3721 阅读 · 0 评论 -
SYS/BIOS与DSP/BIOS的区别
1.SYS/BIOS可用于包含DSP在内的其他处理器,DSP/BIOS只能用于DSP处理器;2.SYS/BIOS在XDCtools中使用配置技术;3. SYS/BIOS兼容DSP/BIOS5.4或更早版本的应用程序,但不再支持PIP模块;4. SYS/BIOS的TSK和SWI最高有32级优先级;5.SYS/BIOS提供了新的定时器模块,应用程序可直接配置和使用定时器;6....原创 2020-05-05 21:28:45 · 1609 阅读 · 0 评论 -
TMS320C6474----88E6122芯片学习
88E6122芯片调试总结一. 概念性错误 88E6122是一个switch(交换)芯片,并不是一个单纯的PHY芯片。图1. 88E6122芯片的框架图 从图1我们可以看出:88E6122包含有6个千兆以太网转换PORT口,集成了2个10/100/1000Mbps三重速率的以太网发送器(PHY),1个(G)MII接口,3个SERDES接口用来连接外部...原创 2019-08-30 14:09:19 · 3641 阅读 · 2 评论 -
TMS320C6474学习总结(十三)----DDR2
TMS320C6474中的DDR2控制器1. DDR2控制器 DDR2内存控制器作为DDR2 SDRAM的接口,兼容JESD79-2B标准的DDR2 SDRAM,主要特点: ·最高支持512MB ·总线宽度为32/16bits ·内部bank数:1,2,4,8 ...原创 2019-01-09 10:49:08 · 1421 阅读 · 0 评论 -
TMS320C6474学习总结(十二)----SRIO调试
1 概述 SRIO本质上就是利用Rapid IO协议来进行通信的一种接口,只不过在TMS320C6474中被命名为SRIO。1.1 一般Rapid IO系统 Rapid IO是非专有的高带宽系统级互连。它是一个包交换互连,主要目的是作为系统内部接口,以每秒千兆字节的性能水平进行芯片对芯片或者板对板通信。可以在连接的微处理器、内存和在网络设备、内存子系统和通用计算...原创 2019-01-09 10:45:28 · 4308 阅读 · 0 评论 -
TMS320C6474学习总结(九)----GPIO中断调试
GPIO模块1. GPIO概述 通用输入/输出(GPIO)外设提供专用的通用引脚,可以配置为输入或输出。当将其配置为输出时,您可以向内部寄存器写入,以控制输出引脚上的状态驱动。当配置为输入时,您可以通过读取内部寄存器的状态来检测输入的状态。 另外,GPIO外设可以在不同的中断/事件生成模式下产生CPU中断和EDMA同步事件。2. GPIO功能 ...原创 2018-11-05 17:05:42 · 937 阅读 · 1 评论 -
TMS320C6474学习总结(十)----IPC中断
IPC中断1. 简介 核内通信是多核设备的CPU之间信息交换的方式。在大多数应用程序中,工作以并行或顺序的方式在内核之间进行划分,需要一个核心将控制信息或数据缓冲消息传递给另一个核心。交换数据缓冲的机制一般包括一个核写数据到一个核特定的内存区域(通过CPU、回写缓存或直接内存访问(DMA)、共享内存等外部双倍数据速率(DDR)或在一个芯片上的静态随机存取存储器(SRAM)地区),...原创 2018-11-05 17:04:39 · 2585 阅读 · 0 评论 -
TMS320C6474学习总结(十一)----EDMA3使用说明
1. 什么是EDMA3控制器? EDMA3(Enhanced Direct Memory Access 3):增强型直接存储器访问的控制器。它是DSP中一个高效数据传输引擎,其结构适合数据的高速传输。直接存储器访问是一种重要的数据访问方式,可以在没有CPU参与的情况下,由控制器完成存储空间的数据转移,适用于软件触发的页面传输(片外存储空间与片内存储空间间进行传输)、适用于事件触发的...原创 2018-10-22 14:57:05 · 4587 阅读 · 0 评论 -
TMS320C6474学习总结(八)----如何生成用户自己的库文件以及如何调用自定义的库文件?
想必知道如何利用CSL库文件来开发程序后,对库文件应该有了一个比较初步的认识,其实库文件也就是一个个简单的程序,通过封装将程序的内部实现给隐藏起来,只对用户开放程序的入口函数。用户在调用库函数文件时,只需要查阅库文件的手册,知道这个库函数的作用是啥,传递的参数是啥意思就行,而对于内部的实现是完全不需要过问的。当然,有时候涉及到多层开发时,底层开发者通常将底层的驱动封装成库函数给到上层开发者,这也避...原创 2018-09-30 15:12:53 · 728 阅读 · 0 评论 -
TMS320C6474学习总结(七)----如何利用TI的CSL库来开发程序?
1.什么是CSL库? 芯片支持库(CSL)提供了一个用于配置和控制片上外设的C语言接口。它有各个分立的模块组成,并被编译成为库文件。每个模块对应一个单独的外设,除了个别提供通用程序支持的模块。使用CSL可以方便片上外设的使用,缩短开发周期,提高程序的可移植性,硬件抽象。2. 如何下载CSL库? CSL库是由TI官方来提供的,因此可以到TI的官网进行下载,这里...原创 2018-07-12 14:23:10 · 3119 阅读 · 0 评论 -
TMS320C6474学习总结(六)----如何选择线程的类型?
DSP在同一时间执行多个任务,当外部数据变为有效或者出现控制信号时,对外部事件进行响应。通常将这些任务称为线程,DSP/BIOS采用广义的定义:DSP执行的所有独立的指令流。一个线程是一个单独的控制点,可能包含一个字程序、一个宏或者是一个函数调用。 DSP/BIOS系统主要有四类线程类型:HWI、SWI、TSK、IDL,那么我们该如何选择合适的线程呢?下面主要介绍...转载 2018-05-10 17:09:42 · 283 阅读 · 0 评论 -
TMS320C6474学习总结(五)----DSP/BIOS自带例程 mailbox exampe 详解
附上例程的主程序: #include <std.h>#include <log.h>#include <mbx.h>#include <tsk.h>#include "mailboxcfg.h"#define NUMMSGS 3 /* number of messages */#define ...原创 2018-05-09 15:32:17 · 2469 阅读 · 4 评论 -
TMS320C6474学习总结(四)----DSP/BIOS自带例程 Tsk example 详解
首先附上CCS自带的DSP/BIOS例程 tsk example:#include <std.h>#include <log.h>#include <tsk.h>#include "tskcfg.h"#define NLOOPS 5Void task(Arg id_arg); /* Function for tasks created...原创 2018-05-08 14:10:09 · 1700 阅读 · 0 评论 -
TMS320C6474学习总结(三)----工程启动顺序
前面我们学习了如何创建一个DSP/BIOS工程,那么我们这里就简单分析一个CCS自带的例程tsk example,一起来学习下这个tsk是如何执行的。 例程code:#include <std.h> #include <log.h>#include <tsk.h>#include "tskcfg.h"#def...原创 2018-05-07 13:13:03 · 894 阅读 · 0 评论 -
TMS320C6474学习总结(二)----创建、打开工程
了解了什么是DSP/BIOS,我们就需要来应用DSP/BIOS来开发项目的程序了。那么首先需要搭建一个开发环境,也就是开发软件(code composer studio,简称CCS)。下面介绍下如何利用CCS软件来新建、打开一个DSP/BIOS程序。(CCS软件可以自行到TI的官网下载即可,这里演示的软件版本是CCS V5.4)1. 利用CCS新建一个DSP/BIOS程序(...原创 2018-05-06 14:04:50 · 1064 阅读 · 0 评论 -
TMS320C6474学习总结(一)----初窥门径
1. 为什么要学DSP/BIOS? 学习过单片机开发程序的人应该知道,单片机开发的程序可以以裸机的形式运行,也就是说在整个系统中没有操作系统作用,这种裸机程序对于那些任务量小,片上资源充裕的项目是非常合适的。但涉及到任务量大,以及资源配置要求高的项目,就需要在单片机上构建一个操作系统来优化整个程序的设计。现在主流的操作系统分为实时操作系统(UCOS、RTOS、BIOS)和...原创 2018-05-06 12:35:08 · 1107 阅读 · 0 评论