HELLO一:如何开始DSP的学习

这个系列为响应HELLODSP的2812学习活动的个人笔记,HELLODSP版权所有。转载请注明 

                                                                                                          ---By eys417


摘录一些,分享下....
 
以下为各网友学习DSP的一些经验
fxw451:大家先大体上看一遍书,把大体的知识了解一下。其次就是看例子了,例子是关键,例子里有你学的所有的东西,这次你再拿出一本书来看,这次是有针对性的看,比如你做的spi的,你就直接看spi那张,一边看例子一边看书,这样你就可以把一些重要的寄存器给记住了。对于初学者来说,一直好奇的就是ccs的使用,拿我第一次使用ccs来说,当我把ccs和板子连载一起时,我相当高兴,成功感油然升起,接下来就是用ccs里的看自带的例子了,看完后你就会发现,这些是什么东东哦,什么都不会,这就对了,你要是看一开始看会了你就是神仙了,dsp不像单片机那么容易上手,所以你要花费点功夫吃透它,好东西不是那么容易就可以搞定的。到了自己编程的时候了,这个时候不要要求自己能编一个什么样的程序,你要仿着例子里的东西全部搞定就可以了,这就是你编程的第一步,当然也是成功的一步,在这成功下,我相信你的积极性肯定被调到起来,对dsp越来越热爱了。
 
wsppike:DSP相比于单片机,它的很多架构都是一个全新的概念,所以我们得花时间去熟悉它。
 
suary:
   1) 把存储器映射结构搞清楚----说的具体点就是dsp内到底有那些存储器(ram,rom,flash,etc),这些存储器到底是如何分配的,这个可以参考相关的.cmd文件的写法,它定义了存储器映射和输入输出段的位置
   2) 编译器的堆栈操作---有关这点我还是没有具体弄清楚,就是中断或是子程序调用时,系统自己的堆栈操作。2407有一个8级硬件堆栈,而2812没有,这个区别比较大,所以在编一边针对堆栈操作的程序(eg. rtos)时就要特别注意了。
  3) 中断系统----每个mcu的中断系统搞清楚了,会给编程带来很大的便利,所以一定要对所用的mcu的中断过程了解的清清楚楚。
  4)数据结构---设计好的,适合的数据结构会使自己的程序编写变得结构清楚而且“容易”。
 
dsp31:我的经验是:DSP不管是软件和硬件开发一定要多思考,多比较。 软件人员一定要会调试和定位硬件电路的问题点。硬件人员一定要考虑接口设计,电平转换,电源稳定性,还有ESD防护等等。
 
cysmwander:首先得对C熟悉,但会C语言并不能说明你会编程,编程有结构设计的问题,C语言只是工具,看不懂的就好好去想,想通了就发现自己又上了一个台阶;在学习DSP之前,我觉得应该需要去明白DSP能干什么,所以你 一定要先看看DATASHEET,看看DSP的外设和资源,看看你能做啥。
开发环境建立完了你要熟悉开发流程,就是说你有一个IDEA,怎么把这个IDEA在目标板上实现,先做什么后做什么,这个一定要想清楚。
这些都准备好了,你就可以开始干了,千万别犹豫,古人说: 临渊慕鱼,不如退而结网。千万别怕。 一定要立即动手,毫无顾忌,不要想着,这个东西这么复杂,我从哪里动手阿, 万事开头难,你就从你认为对的开始做,做错了重头来。我和我们公司新来的同事都说:多动手,烧掉几块板子和几个MCU都是小事,关键是你要动手。
我不建议大家直接拿例程来做试验,因为那样你MCU的结构没有把握,你把例程跑得再好,那也不是你的东西,一定要自己写,例程只能作为参照,一定要一个字母一个字母地去写程序。
 
yangyansky:
1、 看书,这是必要的,也是基础。第一遍,不用太详细,不过要让自己大概知道书里都有些什么内容。
2、 重点了解2812的片内资源的分配情况,尤其是存储器的映射,知道了这个你就明白了你写的哪部分内容是具体存到哪里去了。掌握bootload的工作原理,知道程序是在哪里,怎么启动的运行的。至于spi、sci这些外设,我觉得等到具体运用的时候再看不迟。结合具体的运用还比较容易理解。
3、看例程,在自己编写自己需要功能的代码时要看看已有的例程,看看例程里的各种寄存器是怎么配置的,配置时又是怎么实现的,根据看懂的编写自己想要的,然后跑跑自己的程序看和已有的例程有什么异同,是不是自己想要的。当然,调试环节是最难的一个环节,这个过程中会出现很多意想不到的问题,只能慢慢摸索慢慢前进了。
4、 重点理解中断、定时器、系统时钟的工作过程,这对程序里的时间分配问题很重要。
5、我觉得写程序要规范,这会简便很多操作,使编译得以优化,比如相关的文件定义要放在相应的头文件里,全局变量等的定义最好放在GlobalVariableDefs.c里,相应的中断程序要放在DefaultIsr.c里,等等。"
 
 
最后是自己的一些感悟:开发板,仿真器是必要的,它能带给我们更加直观的感受,有空去TI官网转转,里面东西还是挺多的,另外坚持不懈的等待TI--MM拒绝我的芯片申请。。囧......资料书推荐清华的那个《tms320c28x系列dsp的cpu与外设》可当工具书查,还就是一本关于例程详解的,两本配合看。另外一个好的程序模板也是很关键的,TI官网上2812例程,结构严谨并且最大的发挥了CCS的功能,建议先搞懂后再依据此创建自己的模板程序.还有就是芯片的DATASHEET,由于大多数都是英文的看起来比较痛苦,但确都是必须的....想我,四级都还没过来着。关键还是耐心...最后友情提点下谷歌金山词霸。。。我汗...~

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TI公司现在主推四大系列DSP 1)C5000 系列(定点、低功耗) :C54X,C54XX,C55X 相比其它系列的主要特点是低 功耗,所以最适合个人与便携式上网以及无线通信应用,如手机、PDA、GPS 等应用。 处理速度在80MIPS--400MIPS之间。C54XX和C55XX 一般只具有McBSP同步串口、 HPI并行接口、定时器、DMA等外设。值得注意的是C55XX提供了EMIF外部存储 器扩展接口,可以直接使用SDRAM,而C54XX则不能直接使用。两个系列的数字IO 都只有两条。 2)C2000系列(定点、控制器) :C20X,F20X,F24X,F24XX ,C28x该系芯片具有大量 外设资源,如:A/D、定时器、各种串口(同步和异步) ,WATCHDOG、CAN总线/PWM发 生器、数字IO脚等。是针对控制应用最佳化的DSP,在TI所有的DSP中,只有 C2000有FLASH,也只有该系列有异步串口可以和PC的UART相连。 3)C6000系列:C62XX,C67XX,C64X 该系列以高性能著称,最适合宽带网络和数字 影像应用。32bit,其中:C62XX和C64X是定点系列,C67XX 是浮点系列。该系列提供 EMIF扩展存储器接口。该系列只提供BGA封 装,只能制作多层PCB。且功耗较 大。同为浮点系列的 C3X 中的 VC33 现在虽非主流产品,但也仍在广泛使用,但 其速度较低,最高在 150MIPS。 4)OMAP系列:OMAP处理器集成ARM的命令及控制功能,另外还提供DSP的低功 耗实时信号处理能力,最适合移动上网设备和多媒体家电。 其他系列的DSP曾经有过风光,但现在都非TI主推产品了,除了C3X系列外,其他 基本处于淘汰阶段,如:C3X的浮点系列:C30,C31,C32C2X和C5X系列:C20, C25,C50每个系列的DSP都有其主要应用领域. 2、设计中如何得到技术参考资料以及如何得到相关源码 原则是碰到问题就去www.ti.com 1) 在TI网站的搜索中用keyword搜索资料, 主要要注意的就是ApplicationNotes, userguides 比如不知道怎样进行VC5402的McBSP编程,搜McBSP和VC5402 如果不知道如 何设计VC5402和TLV320AIC23的接口以及编程,搜TLV320AIC23和VC5402; 这 样可以搜到一堆的资料,这些资料一般均有PDF文档说明和相应的源程序包提供, download后做少许改动即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值