【原创】TI C2833x介绍---复位与中断(6)
上次提到了在DSP的实时仿真运行模式和标准运行情况下,使能中断时用到的寄存器是有区别的,概括为:中断处理过程在何时使能中断标准模式(正常运行的情况)DSP运行在实时模式(仿真器)并暂停INTM=0,且IER中的相应位置位IER中的相应位置位,且DBGIER是1CPU在收到
发表于 2012/5/20 22:48:31
阅读(2689)
【原创】TI C2833x介绍---复位与中断(5)
经PIE控制的中断的操作顺序:(3)CPU级的操作一旦PIE控制器将中断请求送入CPU,则CPU级的INTx对应的中断标志位(IFR)将被置位。一旦IFR中相应的标志位被锁存为1之后,除非满足下面的两种条件之一,否则对应的中断请求将暂时不会被响应:1. 
发表于 2012/5/12 21:47:31
阅读(2315)
【原创】TI C2833x介绍---复位与中断(4)
经PIE控制的中断的操作顺序:1)外设级别中断事件由外设产生。该事件所对应的中断控制寄存器中的中断标志位(IF)被置位。此时,如果相应的中断使能(IE)位被置位,则外设向PIE控制器发出中断请求。此时如果该中断在外设级别未被使能,则IF保持置位,直到
发表于 2012/5/6 21:32:44
阅读(3537)
【原创】TI C2833x介绍---复位与中断(3)
从2812到28335,PIE的功能与核心作用并没有显著变化,可以把它比喻为外设事件的一个集中处理单元。它可以最多支持96个独立的外部中断源,但是在TMS2812DSP中实际只用到了45个,而28335也只用到了56个,剩余的中断源主要是保留给后续器件升级之后使用的,只要在空
发表于 2012/4/29 21:08:04
阅读(2319)
【原创】TI C2833x介绍---复位与中断(2)
C2833x的中断源有很多,简单的归类可以分为片内的中断事件和片外的中断事件;片内的中断事件由片内的软硬件事件产生,比如3个CPU定时器、各个外设如eCAP、ePWM等、看门狗等,以及一些用户自定义的中断事件;片外的中断源则一般是与DSP的管脚联系在一起的,在特定
发表于 2012/4/22 20:37:50
阅读(2383)
【原创】TI C2833x介绍---复位与中断(1)
F28x系列DSC的复位源一般是两个,一个来自于watchdog,另一个来自于XRS非(注:文字输入的原因,这里的XRS实际都为低电平有效的信号,即头上带上划线的那种标识)管脚上的低电平检测。两个复位信号经过或(or)操作之后,控制芯片的复位。如果复位是由外部操作引
发表于 2012/4/14 22:10:29
阅读(2321)
【原创】TI C2833x介绍---外设寄存器的头文件(5)
在使用CCS调试的时候,为了方便的查看一些外设寄存器的内容,可以把定义外设所用的结构体、共用体或者它们的地址直接输入到watchwindow里面,此时可以在ccs展开结构体、共用体,直到看到相应的位;输入起来还是要花点时间的,因为watchwindow里面不像编辑器那样具
发表于 2012/4/8 17:37:51
阅读(2724)
【原创】TI C2833x介绍---外设寄存器的头文件(4)
以前在使用TMS320LF2407A这样的芯片的时候,大家在一个新工程的开始往往都会去找一个叫“tms320lf2407.h”的头文件,几乎所有例程的开头你都会看到,因为它采用传统的方法定义了DSP的所有的外设、寄存器的地址。后来TMS320F2812刚刚推出来的时候,我记得论坛
发表于 2012/3/28 19:05:53
阅读(4671)
【原创】TI C2833x介绍---外设寄存器的头文件(3)
前面两次讲了两种不同的寄存器定义以及调用的方法。直观上看,书写、记忆方面的不同是它们的区别,那它们的代码大小、代码的效率会不会有什么不同呢?我们可以看一下同一段代码,分别采用两种方法书写,编译生成的汇编文件的区别。以一个CPUtimer操作的程序为例。首先是
发表于 2012/3/22 22:29:10
阅读(3156)
【原创】TI C2833x介绍---外设寄存器的头文件(2)
上次讲到了直接使用头文件定义寄存器的地址指针,然后直接对指针进行读写操作这种编程方法的优缺点。这种方法虽然容易上手,但是效率并不高;如果我们需要对寄存器的某一个位进行单独操作怎么办呢?(这种情况很常见,比如在一个定时器的控制寄存器的配置中
发表于 2012/3/17 22:25:11
阅读(3410)
【原创】TI C2833x介绍---外设寄存器的头文件(1)
为了对一个外设进行编程,通常我们只需要对其控制寄存器(一般为xxxcon这样的命名)的整体或者相应的位进行编程。更为直接的方式是,直接把一个十六进制的数值写到外设所对应的存储器地址;但是在多次操作并且写不同控制值的时候,这样的写方式显然是重复度很高但是低效
发表于 2012/3/10 21:42:32
阅读(3134)
【原创】TI C2833x编程环境介绍---(10)cmd文件的具体描述
【原创】TIC2833x编程环境介绍---(10)cmd文件的具体描述Thelinkerconcatenateseachsectionfromallinputfiles,allocatingmemorytoeachsectionbasedonitslengthandlocationasspecifiedbytheMEMORYandSECTIONScommandsinthelinkercommandfile.链接器将输入文件中的每一个
发表于 2012/2/26 17:44:34
阅读(2992)
【原创】TI C2833x编程环境介绍---(9) cmd文件解释
上次提到了C程序的不同段在目标系统中被放置在不同的存储区域中,这次解释一下各个段的具体含义程序代码(.text)DSP中的程序代码由指令序列组成来进行数据操作、初始化系统设置等操作。在系统复位(上电)之前,程序代码就需要已经被定义好。在这个基本的系统限制前提下
发表于 2012/2/19 18:21:55
阅读(2164)
【原创】TI C2833x编程环境介绍---(8)创建一个链接文件(cmd)
一个基于CCS的工程,即使源程序和汇编程序写的再完美无瑕,编译全部通过,但是如果.cmd文件不正确、甚至是一小段变量的地址分配不合理,都无法把编译出来的对象文件.obj链接成.out输出文件。那么为何.cmd文件如此关键?下面就详细讲来。&
发表于 2012/2/12 15:53:38
阅读(2912)
【原创】TI C2833x编程环境介绍---(7)常用的编译选项
在把所有文件都放在同一个文件夹下、工程规模较小的情况下,CCS的编译选项一般不需要修改,使用默认值就可以较好地工作了。而在工程文件较多、需要更改优化级别、需要制定工程所使用的库、变量初始化等情况下,就需要修改编译器的选项了。下面是一个工程所有编译选项展
发表于 2012/2/5 17:14:42
阅读(3475)