基于TMS320X281X/F28335的DSP入门到精通01_如何开始DSP的学习与开发
本部分开始基于《手把手教你学DSP—基于TMS320X281X》,《手把手教你DSP基于MS320F28335 》、《TMS320X281x DSP原理及C程序开发》,另外结合B站视频进行DSP嵌入式的学习。
《手把手教你学DSP—基于TMS320X281X》介绍的相对更为基础和详细,《手把手教你DSP基于TMS320F28335 》则是对前者的升级,一般掌握了TMS320X281X对于TMS320F28335也不会有大的问题。
后面的介绍也是以《手把手教你学DSP—基于TMS320X281X》作为主线进行的介绍,对于从其他地方补充的,会另外进行说明。
文章目录
- 1. 初学者在学习DSP之前需要掌握的
- 2. 如何选择DSP
- 3. TI DSP 具体型号的含义
- 4. DSP开发所需要准备的工具以及开发平台的搭建
- 4.1 所需要准备的工具
- 4.2 开发平台的搭建
- 4.2.1 CCS软件安装
- 4.2.2 安装仿真器
- 4.2.3 识别成功之后进行CCS软件的配置
- 4.2.4 目标板的连接
1. 初学者在学习DSP之前需要掌握的
无论学习哪一款微处理器,无关乎两个部分:一个是硬件,一个是软件。
- 硬件部分,最好有过MCU或者ARM之类相关微处理器的开发经验,因为硬件上,各个处理器之间是有许多共同点的,设计时处理的方法很多是一样的。当然,如果之前没有接触过硬件知识也不要紧,可以以DSP为起点,慢慢进行积累。
- 软件部分,需要会
C或者C十十
,这是必需的,如果没有这个作为基础的话,那DSP开发真的就无从下手了,因为编程的时候总是要用到C语言。当然如果会汇编那自然就更好了。 - 除了上面两方面的技能之外,如果在
信号处理理论方面有一些基础
,例如知道时域与频域、s域、z域的变换,知道FFT、各种数字滤波器的知识,那就是锦上添花了。不过,话也说回来,就算现在什么都没学过,什么基础都没有,也是可以从头开始学习的,所以只要能静下心来学习,想要好好学的话,还是没有问题的。
2. 如何选择DSP
首要考虑以下几点:
- 处理器速度
- 功耗
- 存储空间大小:程序和数据的存储空间
- 片内资源:定时器个数、IO口个数、DMA通道数、终端数
DSP的主要供应商:TI(50%市场份额)、ADI、摩托罗拉、Zilog,TI使用更为广泛
TI公司DSP产品:
- C2000:数字控制、运动控制
- C5000:低功耗、手持设备、无线终端应用领域
- C6000:宽带网络、数字图像处理,只提供BGA封装及多层PCB
- 达芬奇:安全监控领域
- OMAP:DSP+ARM核心,双核处理器,集成ARM命令和控制功能结合DSP低功耗实时处理能力,比较适合用在移动上网设备和多媒体家电中
- Piccolo:控制领域,成本低,可以与单片机竞争
现在使用相对比较多的芯片有定点芯片TMS320F2407、TMS320F2812、TMS320F2808和点芯TMS0F85,其TMS320F2812使用最为广泛,本书也将主要探讨TMS320F2812
芯片开发的方方面面。
3. TI DSP 具体型号的含义
4. DSP开发所需要准备的工具以及开发平台的搭建
4.1 所需要准备的工具
DSP的开发离不开软件工具和硬件工具,如下图所示,软件需要TI公司提供的CCS软件,硬件则需要仿真器和目标板。
- CCS最新已经出到了4.0,由于CCS4.0与以往采用的开发平台不一样,所以CCS4.0使用的还是比较少,更多的还是CCS3.3,后期也是以
CCS3.3
来进行讲解的。 - 硬件主要包括仿真器和DSP开发板。
仿真器的作用就是链接了CCS软件和DSP芯片,起到了协议转换、数据传输等作用,就像一个桥梁一样,DSP开发时的调试、下载、烧写等操作都是需要通过仿真器来完成的。
《TMS320X281x DSP原理及C程序开发》中提到:
TI公司提供的DSP系统集成与调试的工具主要包括: - 软件仿真器(Simulator);
- DSK开发套件;
- 评估板(EVM);
- 硬件仿真器(主要包括XDS510和XDS560);
- 集成开发环境(Code Composer Studio)
在确定DSP系统的基本结构和信号处理算法后,使用软件仿真器
可以在没有目标系统的情况下,完成DSP软件的设计和调试,并在Simulator模式下仿真验证算法的准确性。Simulator使用编译器、链接器等工具产生目标代码,采用主机文件的形式为仿真器模拟硬件系统提供的数据。此外,在Simulator 模式下,用户也可以设置断点及跟踪模式,调试跟踪程序的执行结果。
DSK开发套件和评估板
是TI公司的第三方提供的一种简单的系统评估平台,DSK和EVM除了提供基本的硬件平台外,还提供完整的代码生成工具和调试工具。用户可以使用DSK或EVM完成需要设计系统的硬件性能、软件算法的评估,为确定系统的软/硬件方案提供可靠的依据。
硬件仿真器
是功能强大的全速仿真器,用以完成系统的集成与调试。每个DSP器件都提供边界扫描接口(JTAG),通过XDS510或XDS560检测器件内部的寄存器、状态机以及引脚的状态,从而实现对DSP状态的监控。不过XDS510或XDS560硬件仿真器只是一个硬件平台,必须配合主机开发环境(CodeComposerStudio)才能很好地实现系统的集成与调试工作。
在没有目标板的情况下,可以考虑使用软件仿真器来进行软件的开发调试。
4.2 开发平台的搭建
- 仿真器:HDSP-XDS510 USB2.0
- 目标板:
基于 TI公司的 DSP TMS320F2812
的标准化开发平台,例如HELLODSP的HDSP-Basic 2812 - 软件:CCS软件
4.2.1 CCS软件安装
在win10中下载安装CCS3.3,请参考CCS_3.3.83.20的安装步骤和CCS v3.3在win10电脑上的详细安装步骤,关于在win10下如何安装,TI也有介绍:Using CCS 3.3 with Windows 10,自行下载的话需要注册账号,有需要的话我可以进行安装包的分享。
安装到最后提示如下:
后来按照点击确定之后按照网上的教程安装了ActivePerl-5.8.8.822-MSWin32-x86-280952
,配置好之后就会报以下错误:
4.2.2 安装仿真器
在 Windows 环境下安装 Code Composer Studio3.1软件后,在桌面上会出现 Setup 和应用程序的两个快捷按钮。SetupCCStudiov3.3应用程序主要用来配置所需要开发的处理器类型、硬件设备的选择情况等, 根据仿真器厂家说明来按照对应的仿真器,大致过程如下:安装驱动;设置计算器识别仿真器;在设备管理器中查看仿真器是否识别安装成功
4.2.3 识别成功之后进行CCS软件的配置
对CCS3.3进行相关的配置操作,为CCS3.3选择需要开发的DSP型号,以及选择支持这个DSP开发的配置文件、仿真器所需要使用的端口等,完成CCS、仿真器和DSP之间对接的配置工作。所有的这些操作都是在Setup Code Composer Studio v3.3软件中完成的。
4.2.4 目标板的连接
连接之后的连接图如下图
上电顺序:在系统没有加电的情况下将仿真器和HDSP-Super2812的JTAG口连接好;然后将+5V电源插到HDSP-Super2812的电源插座;接着把仿真器的USB口连接到计算机的 USB口上,仿真器红色的POWER灯亮;打开CCS3.3,单击 Debug菜单,然后单击 Con-nect,仿真器绿色的TARGET灯亮,说明CCS3.3已经和DSP通过仿真器链接成功。
下电顺序:和上电时的顺序正好完全相反,单击Debug菜单,然后单击Disconnect,断开CCS3.3和DSP的链接,仿真器绿色的TARGET灯灭;然后关闭CCS3.3,接着将仿真器的USB口从计算机的USB口拔下,仿真器红色的POWER灯灭;再将HDSP-Super2812的+5 V电源拔出:最后可以将仿真器的JTAG口和HDSP-Super2812的JTAG口断开。
相关文章:

基于TMS320X281X/F28335的DSP入门到精通01_如何开始DSP的学习与开发
本部分开始基于《手把手教你学DSP—基于TMS320X281X》,《手把手教你DSP基于MS320F28335 》、《TMS320X281x DSP原理及C程序开发》,另外结合B站视频进行DSP嵌入式的学习。 《手把手教你学DSP—基于TMS320X281X》介绍的相对更为基础和详细,《手…...

Java爬虫获取1688 item_search_img接口详细解析
概述 1688作为中国领先的B2B电商平台,提供了丰富的API接口供开发者获取商品信息。item_search_img接口允许通过图片搜索商品,这对于需要基于图片进行商品查找的应用场景非常有用。本文将详细介绍如何使用Java爬虫技术获取1688的item_search_img接口数据…...

Java 连接 FTP 服务器全解析
Java 连接 FTP 服务器全解析 一、引言 在许多企业级应用和数据处理场景中,与 FTP 服务器进行交互是一项常见且重要的任务。Java 提供了强大的工具和库来实现与 FTP 服务器的连接、文件传输、目录操作等功能。本文将详细介绍如何使用 Java 连接 FTP 服务器…...

字节跳动C++面试题及参考答案(下)
说说B 树 b + 树 B 树: B 树是一种平衡的多路查找树,它的设计目的是为了减少磁盘 I/O 操作,适用于存储大量的数据并进行高效的查找、插入和删除操作。B 树的节点可以有多个子节点(通常称为多路),每个节点包含多个关键字,关键字之间是有序的。 B 树的结构特点包括:根节点…...

Rabbit MQ知识总结
1.什么是Rabbit MQ? Rabbit MQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP); 基本概念 消息:消息是在应用程序之间传递的数据单元。可以是简单的文本信息,可以是复杂的对象。队列:队列是消息的容器&am…...

未来将要被淘汰的编程语言
COBOL - 这是一种非常古老的语言,主要用于大型企业系统和政府机构。随着老一代IT工作人员的退休,COBOL程序员变得越来越少。Fortran - 最初用于科学和工程计算,Fortran在特定领域仍然有其应用,但随着更现代的语言(如Py…...

GO环境安装和配置
安装go环境 wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz -P /usr/local或者去官网下载安装包 tar -xzf go1.23.4.linux-amd64.tar.gz sudo mv go /usr/local export GOROOT/usr/local/go export GOPATH$HOME/go export PATH$PATH:/usr/local/go/bin source ~/.bashr…...

面试题整理(四)
1.Max transition,leakage优化,hold time ,setup time violation修复的顺序是? 答:先把max transition修复掉,如果max transition有violation,意味着其超出了查找表范围之外,所以计算得到的delay都不是很准的。 其次是把setup修复了,因为setup相对来说,需要减少cell…...

mathtype中如何在公式和序号之间加点
1,右编号插入公式 2,打开样式面板(ctrlshiftalts) 3,选中MTDisplayEquation样式,右击修改 4,点击格式,弹出下拉列表,点击制表位 5,先选中34.67字符&#…...

【电源专题】电源芯片的PG(Power Good)管脚是什么?
在看电源芯片规格书时,你会发现有一些电源芯片有PG管脚。如下ti.com.cn/product/cn/tps56637?qgpn=tps56637规格书所示: 对应的描述是:Open Drain Power Good Indicator, it is asserted low if output voltage is out of PG threshold due to over-voltage, under…...

C/C++圣诞树
系列文章 序号直达链接1C/C爱心代码2C/C跳动的爱心3C/C李峋同款跳动的爱心代码4C/C满屏飘字表白代码5C/C大雪纷飞代码6C/C烟花代码7C/C黑客帝国同款字母雨8C/C樱花树代码9C/C奥特曼代码10C/C精美圣诞树11C/C俄罗斯方块12C/C贪吃蛇13C/C孤单又灿烂的神-鬼怪14C/C闪烁的爱心15C…...

牛客--求小球落地5次后所经历的路程和第5次反弹的高度,称砝码
求小球落地5次后所经历的路程和第5次反弹的高度 描述 假设有一个小球从 hh 米高度自由落下,我们不考虑真实的物理模型,而是简洁的假定,该小球每次落地后会反弹回原高度的一半;再落下,再反弹;……。 求小球…...

cad学习 day6
平面布置图 文字标注: 材料代码(视口外进行标注) 成品家具(移动家具)、定制家具、洁具、家电电器根据封面设计说明内容进行文字标注sc 缩放代码符号, 打印可以看的清楚 家具尺寸图 家具尺寸标注: 家具尺寸; 过道尺寸; 冰箱、洗衣机、马桶(预览尺寸)D 平面内尺寸置为当前, 视…...

Chrome 浏览器插件获取网页 iframe 中的 window 对象
Chrome 浏览器插件获取网页 iframe 中的 window 对象 前言 之前写了篇《Chrome 浏览器插件获取网页 window 对象》文章,是获取当前页面的 window 对象,但是有些页面是嵌入 iframe 的,特别是系统项目主域一样,那就也需要获取 ifr…...

免费线上签字小程序,开启便捷电子签名
虽如今数字化飞速发展的时代,但线上签名小程序的开发制作却并非易事。需要攻克诸多技术难题,例如确保签名的真实性与唯一性,防止签名被伪造或篡改。 要精准地捕捉用户手写签名的笔迹特征,无论是笔画的粗细、轻重,还是…...

IT运维的365天--021 服务器上的dns设置后不起作用
之前在内网搭建了一个和外网同域名的网站,开发同事今天告诉我,程序调试发现可能服务器不能正常访问自己内网的网站内容。于是,今天的故事开始了。 前面的文章在下面列出,当然不看也问题不大,今天的主题是:…...

深信服企业级数据备份与恢复系统(整机裸机恢复)
概述 深信服企业级数据备份与恢复系统可实现无需搭建目标环境,目标机可以是没有操作系统的物理主机或虚拟机,实现异构环境下的裸机恢复。 深信服企业级数据备份与恢复系统支持的多种连接恢复方式: 1. PXE连接恢复:PXE连接需要做…...

Tool之Excalidraw:Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略
Tool之Excalidraw:Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略 目录 Excalidraw 简介 1、Excalidraw 的主要特点: Excalidraw 安装和使用方法 1、Excalidraw的安装 T1、使用 npm 安装: T2、使用 …...

OPPO C++面试题及参考答案
五层协议每层包含的协议 在计算机网络的五层协议体系结构(自下而上为物理层、数据链路层、网络层、传输层和应用层)中,各层包含多种协议。 物理层主要负责在物理介质上传输原始的比特流,包括像 RJ - 45 接口标准等物理接口规范&am…...

Unity中LineRenderer使用MeshCollider方法参考
运行时,如果一个物体不添加Collider组件就没有办法被鼠标点击,LineRenderer由于其Mesh会随着摄像机朝向变化,如果要通过添加MeshCollider来使其能够与鼠标交互,就需要不断同步更新其MeshCollider网格。 代码参考如下: …...

BERT模型入门(1)BERT的基本概念
文章目录 BERT是Bidirectional Encoder Representations from Transformers的首字母简写,中文意思是:Transformer的双向编码器表示。它是谷歌发布的最先进的嵌入模型。BERT在许多NLP任务中提供了更好的结果,如问答、文本生成、句子分类等&…...

致命错误: Class ‘ZipArchive‘ not found
银河麒麟V10处理 本人在安装过程遇到的坑,就是不要使用太低版本的 1、安装cmake 确认是否安装 cmake --version 如果没安装的话按照如下步骤处理下(如果想要其他版本点击cmake官网下载) wget https://github.com/Kitware/CMake/release…...

二手车交易平台开发:安全与效率的双重挑战
3.1系统体系结构 系统的体系结构非常重要,往往决定了系统的质量和生命周期。针对不同的系统可以采用不同的系统体系结构。本系统为二手车交易平台系统,属于开放式的平台,所以在体系结构中采用B/s。B/s结构抛弃了固定客户端要求,采…...

vector题目
118. 杨辉三角 - 力扣(LeetCode) 求解题目时候,我们可以将其看作近似的二维数组。 行为vector<vector<int>>,数组的每个数据类型为vector<int>。 列为vector<int>,数组的每个数据类型为int。 通过观察我们可以发现…...

测试测试测试测试测试测试测试测试测试测试
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…...

Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
导读:Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot…...

大恒相机开发(3)—大恒相机工业检测的实际案例
大恒相机工业检测的实际案例 工业检测的实际案例图像采集性能优化技巧工业环境下的稳定性 工业检测的实际案例 以下是一些使用大恒相机进行工业检测的实际案例: 多特征光学成像系统: 在这个案例中,使用大恒相机构建了一个全方位、多特征的图…...

【泛微表单】流程相关信息修改
流程相关信息修改 查询流程对应数据库表名: select b.tablename from workflow_bill b ,workflow_base s,workflow_requestbase t where t.requestid=35389 and t.workflowid = s.id and b...

LeetCode80.删除有序数组的重复项
10多分钟的时间就把一道中等题目做出来了,而且我还没有思考,边写边想。我的思路很简单,就是按照题目意思,从前往后遍历数组并统计相同的个数count,然后一直维护一个左指针,把遍历的数移到左指针上然后左指针…...

rk3568制冷项目驱动开发流程汇总(只适用于部分模块CIF DVP等,自用)
采用fpga输入,3568采集并显示至hdmi RKVICAP 驱动框架说明 RKVICAP驱动主要是基于 v4l2 / media 框架实现硬件的配置、中断处理、控制 buffer 轮转,以及控制 subdevice(如 mipi dphy 及 sensor) 的上下电等功能。 对于RK356X 芯片而言, VICAP…...