打印

如何区别学习51 AVR和DSP

[复制链接]
389|13
手机看帖
扫描二维码
随时随地手机跟帖
沙发
heweibig| | 2017-8-13 20:32 | 只看该作者
编译环境。TI的DSP都用的是CCS,CCS界面和原先IAR区别不是一般的大,比如程序导入,比如观察变量,比如烧写FLASH。用过了IAR那种傻瓜化的操作了之后,真是怎么弄怎么别扭,CCS真是太不友好了。但是没办法,IAR他们是专门做编译软件的,TI主要是做DSP的。

使用特权

评论回复
板凳
jiahy| | 2017-8-13 20:36 | 只看该作者

库文件。TI的库文件都是联合+结构+位域的形式。对这些结构不是非常熟悉的话可能看着有点晕,这个只能慢慢去看C的书。最纳闷的可能就是它的地址映射,如何把寄存器映射到相应的地址,那是它由编译器来支持的主要通过#PROGRM来实现,可以去看看它的CMD文件

使用特权

评论回复
地板
jiahy| | 2017-8-13 20:38 | 只看该作者
CMD,CMD文件可能是入门最大的一个坎了,单片机或者ARM根本就没这么一说。CMD文件主要作用就是用来做内存分配,你的芯片里面有FLASH有RAM有BOOT ROM,你编写的程序有代码,要烧到FLASH中,有全局变量要存到RAM的全局变量区域,有局部变量,要存到堆栈中。

使用特权

评论回复
5
jiaxw| | 2017-8-13 20:39 | 只看该作者

对,CDM文件其实就是把你代码中的这些一块一块的东西和具体的硬件存储对应起来。你可以随你需要任意来配置,比如我有一个数据表格,普通的单片机你定义好了之后会有编译器来帮你存放到一个地方,但是DSP里面你可以通过配置CMD把它放在你认为合适的地方。

使用特权

评论回复
6
jiaxw| | 2017-8-13 20:41 | 只看该作者
再比如堆栈空间的大小,以前从来没关心过堆栈大小,但是开辟的太大的话可能浪费内存空间。当然,每个芯片都有一个标准的CMD文件,初学者完全可以不用去修改它。

使用特权

评论回复
7
spark周| | 2017-8-13 20:44 | 只看该作者
文档。TI的文档包括数据手册和外设指南,很多人说很乱,不像其它芯片,所有外设的资料都会放在一起,但是TI会每个外设弄一个。这就要说说TI的外设,它的外设都非常专业,是的专业。比如它的PWM外设,叫ePWM,也就是增强型的PWM,这个外设可以轻松输出非常复杂的PWM波形,而且不用CPU参与。

使用特权

评论回复
8
spark周| | 2017-8-13 20:47 | 只看该作者
所以它的外设指南有100多页,你会发现很多外设都是这样,里面有很多很多增强的功能,相对应的它的说明文档也就非常长。要是全部都*在一起那就会非常的大。而且它的每个外设都是有独立版本的,比如ADC,已经从0版到3版,而ePWM还是1版,分开之后升级的维护会方便很多,很多外设在类似的芯片都是一样的。

使用特权

评论回复
9
dengdc| | 2017-8-13 20:48 | 只看该作者
单片机51是最基本的单片机,  pic avr是高级单片机,arm增加了操作系统dsp是高级单片机与arm之间产品。

使用特权

评论回复
10
zhaoxqi| | 2017-8-13 20:50 | 只看该作者
至于库文件,和STM32之类感觉也差不多。

使用特权

评论回复
11
huangchui| | 2017-8-13 20:52 | 只看该作者

编写的程序有代码,要烧到FLASH中,有全局变量要存到RAM的全局变量区域,有局部变量,要存到堆栈中。

使用特权

评论回复
12
huangchui| | 2017-8-13 20:54 | 只看该作者
CDM文件其实就是把你代码中的这些一块一块的东西和具体的硬件存储对应起来。

使用特权

评论回复
13
jiaxw| | 2017-8-13 20:56 | 只看该作者

基本上没啥区别 随便努力学好一个就行,遇到项目有需要耿丁帝干郜妨刽挠,其它的触类旁通。

使用特权

评论回复
14
shimx|  楼主 | 2017-8-13 20:59 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

857

主题

10661

帖子

5

粉丝