tag 标签: c2000

相关帖子
相关博文
  • 2013-8-31 12:56
    476 次阅读|
    0 个评论
      DCAH  DCAL   DCBH DCBL 是外部错误信号的组合,在DCTRIPSEL寄存器中选择,再根据TZDCSEL可以对这些外部信号可能的状态进行组合,并定义成四种不同的事件DCAEVT1、DCAEVT2、DCBEVT1、DCBEVT2
  • 热度 3
    2012-11-24 16:58
    2675 次阅读|
    3 个评论
           写在最前,不喜请略过。本博文的主要内容已在QQ空间、人人网、网易博客、百度空间等平台发表过,最近进行了排错和修改,作者为Mr_D_prince(斌斌-龙臻),也就是本人,前两者均为我在非技术论坛的昵称。在技术论坛我更喜欢newofcortexm3这个昵称,原因无他,我就是个技术新人。之所以文章类型为什么是整理,是因为博文的主要内容均来自TI相关的技术手册,我只是做了下解读或者整理。     参与了一款两轮自平衡机器人的研究项目。随着项目实践深入,要实现的 功能 越来越复杂,所定义的常量、变量也越来越多。某一天,当我增加了 串口 通信 的代码之后,CCSV4.12竟然提醒 编译 不通过,提醒的内容是“.econst”的容量超限,如下图1所示,而把增加的代码删除之后,程序可以正常编译且运行。   图1:编译出现的问题     既然是容量问题,那我削减变量、常量的个数总可以吧,当我费了九牛二虎之力把可删减的常变量去掉之后,这个问题依然存在,。而此问题的原因恰恰是CCS安装完C2000目录下自带的 28335_Ram_lnk.cmd 文件 (09年之后)上的那些“段”的空间映射的太细,太小。新版本的28335_Ram_lnk.cmd 文件 上“.econst”段空间长度为0x1000,只有之前的版本的四分之一。     先来简单介绍下cmd文件。CCS的每一个项目都必须有CMD文件,CMD文件主要是用来对存储区域进行划分并对输出端进行地址分配。说的笼统点,就是将处理器的片内外存储器进行空间分配。     在CMD文件中,可以通过MEMORY伪指令确定目标存储器的属性及存储区域。每个存储区域包括:名字,起始地址,长度,属性选项,指定填充选项。F28xx系列DSP的数据和程序空间是相互独立的,在默认状态下,一部分存储器作为程序区域,一部分存储器作为数据区域。一般来说,MEMORY伪指令的PAGE0配置程序空间,PAGE1配置数据空间。使用MEMORY伪指令必须指明转载代码要用到的存储区域,以便链接器进行配置。MEMORY的一般指令格式如图2所示: 图2:MEMORY指令格式           在链接时,一般通过SECTIONS伪指令把输出段分配到MEMORY伪指令定义的存储区域。每一个输出段以名称开头,定义一个输出文件中的段。段名后面是段的属性,段的属性可能有以下几种:装载位置,运行位置,输出端,段类型,填充值。链接器为每一个输出段在目标存储器中分配两个地址,一个是段的装载位置,一个是段的运行位置。通常情况下,这两个地址相同。           可以通过一个或多个定位参数来控制地址分配,每一个参数包含一个关键字、可选的符号为等号或大于号。所用到的关键字有:LOAD(装载),Binding(绑定),Named MEMORY(命名存储器),Alignment(定位),Blocking(分块),Page(页)。相比较而言,Page的使用率远远高于其他几个关键字。SECTIONS的一般指令格式如图3所示: 图3:SECTION指令格式     在图3SECTIONS的指令格式中,我们看到了一些段名,有必要对这些段名做些解释。链接器定义了两种基本类型的段:一种是包括数据表格或执行代码的已初始化的段,另一种是分配在RAM空间的未初始化的段。 .text  此段存储所有执行代码和常数 .cinit此段存放初始化变量和常数,包含未用const声明的外部(extern)或静态(static)数据表 .pinit此段存放初始化变量和常数 .const此段存放字符串常量,声明,具备常数性质的全局和静态变量,包括已经用const声明的外部或静态数据表以及字符串常量 .econst此段的属性与.const相同。不同的是,.const的分配范围被限制在低64K16位数据区内,而.econst的分配范围是4M22位数据区 .switch  此段存放switch语句的常数表格   以上的段都是已经初始化了的段。 链接器定义的未初始化的段为:.bss,.ebss,.stack,.sysmem,.esysmem。 .bss此段为全局和静态变量保留空间。它是一种默认的COFF(Common Object File Format)(如有兴趣了解,请查看TI的手册)段。 .ebss此段的属性与.bss相同。不同的是,.bss的分配范围被限制在低64K16位数据区内,而.ebss的分配范围是4M22位数据区 .stack  此段为C系统的栈存储区,用来向函数传递数值与分配局部变量空间。 .sysmem此段为堆存储区 .esysmem此段为22位堆存储区 通过以上的解释,想必对CMD文件的框架应当有所了解,但要完全读懂CMD文件可能还要假以时日,当初笔者也是这样过来的。在阅读CMD文件时要前后对应,要将MEMORY指令中的名字与SECTIONS中的装载位置一一对应,并注意Page,弄清楚是在程序空间还是数据空间。     在09年之后的CMD文件中,.econst段存放在程序区以RAML1命名的程序空间,其空间存储量为0x001000。虽然以RAML1命名的程序空间有0x001000的容量,但并不是全部用来作为.econst段的,因此当代码中,字符串常量等数据量超过.econst段的容量时,就出现了图1的报错。只要扩大容量即可解决问题。
  • 热度 2
    2012-11-20 16:08
    3722 次阅读|
    2 个评论
    本文是之前写的,属9crk原创。 首先,c2000有多重启动方式,可以从datasheet 29页看到支持的启动模式,目前基本上都是使用仿真器,很少有使用其他方式下载的方案提供,不过有个SDflash软件,可以研究一下 Table 3-6. Boot Mode Selection GetMode Wait (see Section 3.3.10 for description) SCI Parallel IO EMU x x 1 Emulation Boot (就是仿真器) 很多人接触这个都是因为收到了21ic发的c2000开发套件,但发现上面的芯片写着TMX320f28035,感觉不解,请看datasheet 98页 TMX Experimental device that is not necessarily representative of the final device's electrical specifications TMP Final silicon die that conforms to the device's electrical specifications but has not completed quality and reliability verification TMS Fully qualified production device X就是实验用的,内部存在一些东西不支持,P就是确定电气特征,但不完全确定质量,S才是质量可靠的。 我拿到的是官网的28035实验套件。 首先,对于软件的使用:有ccs3.3和官网提供的ccs4可供选择,建议选择ccs4,因为在ccs4里可以选择位。这是eclipse开发环境的好处。 ccs3需要有型号支持,一般网上下载的ccs3.3都是不支持28035的,如果你一定要用,可以留言。我发给你。 然后就是你要下载一个库,里面包含了所有功能的实例代码和头文件、cmd文件,然后把它放到不要有中文名的路径下,随便放哪。 注:以下为针对ccs4的版本 然后开始新建工程: 新建一个工程都用默认选项,就是选择型号那里要选28035,这时会新建一个只有28035_RAM_link.cmd的工程。 注意:ccs可以同时打开多个工程,但只有黑粗体的那个工程才是当前激活工程,(也就是说你按编译,他就会编译那个黑粗体的工程) 可以右键设置任一工程为激活工程 然后右击当前工程link files to project 然后将你下载的那个库里的以下文件link进去 DSP2803x_CodeStartBranch.asm DSP2803x_DefaultIsr.c DSP2803x_PieCtrl.c DSP2803x_PieVect.c DSP2803x_SysCtrl.c DSP2803x_usDelay.asm DSP2803x_CodeStartBranch.asm DSP2803x_Headers_nonBIOS.cmd 一共八个文件,在不同的目录里,就在common和header的文件夹里,自己多找找就可以找到这几个文件了。 添加完文件了再就是添加include目录,因为那些头文件都在你放的库的目录里,你不添加进来这些.c文件会找不到定义。 右击工程点击build properties,然后在tool setting里面有很多东西,但我们只要关注两个东西: C2000 copalier下的include options和C2000 linker下的basic options 在include option里添加D:\v121\DSP2803x_common\include和D:\v121\DSP2803x_headers\include (注:这是我电脑上的路径,你们看情况)。然后再C2000 linker下的basic options里设置stack size,堆栈大小,可以设置成200或者300都可以。 然后保存设置,退出来。 新建一个main.c 写上下面的: #include "DSP28x_Project.h" void main(void) { InitSysCtrl();//将系统时钟设置为60M,如果是自己diy的板子,时钟不是10M,可以研究里面的参数设置一下 DINT;//关掉总中断 InitPieCtrl();//在dsp里,中断通过pie控制器来管理中断响应 IER = 0x0000;//这个是12组中断使能寄存器,都关掉 IFR = 0x0000;//这个是12组中断的标志位,清零 InitPieVectTable();//这个是初始化中断向量表的,就是将各种中断的中断函数入口地址指派一下 EALLOW; //在dsp里,有些寄存器设置时要先解开寄存器保护,这个命令是解开保护,下面这几条是设置io的功能 GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 0; //GPIO31作为普通IO GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0; //GPIO34作为普通IO GpioCtrlRegs.GPADIR.bit.GPIO31 = 1; //GPIO31方向为输出 GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1; //GPIO34方向为输出 EDIS; //对应解开保护,这个是关闭保护 while(1) { DSP28x_usDelay(10000000);//这个函数是用汇编定义的,在DSP2803x_usDelay.asm里面定义的,比较准确,参数是long 型的。? GpioDataRegs.GPATOGGLE.bit.GPIO31 = 1; //GPIO31端口电平翻转一次 GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1; //GPIO34端口电平翻转一次 } } 然后编译,不会有错误。 然后就是下载 点击 target-launch ti debugger target-connect target 此时会出现错误,连接不上(如果你没出现错误,下面的略过) //*********************错误解决步********************************** 先把连接结束(terminate all) 点击target-new target configuration 然后会弹出一个文件,在里面设置connection为xds100v1.0,然后选型号为28035 experiment kit然后save 然后重新编译、重复launch connect步骤,如果你还是在connect步骤出错,重启ccs就可以了。 //*********************错误步********************************** load program 选择你的工程debug目录下的.out文件,然后点击debug窗口的run就可以全速运行了,单步、over什么的不用我教了。
  • 热度 7
    2012-11-19 20:45
    1803 次阅读|
    6 个评论
        写在最前,不喜请略过。本博文的主要内容已在QQ空间、人人网、网易博客、百度空间等平台发表过,最近进行了排错和稍稍修改,作者为Mr_D_prince(斌斌-龙臻),也就是本人,前两者均为我在非技术论坛的昵称。在技术论坛我更喜欢newofcortexm3这个昵称,原因无他,我就是个技术新人。之所以文章类型为什么是整理,是因为博文的主要内容均来自TI相关的技术手册,我只是做了下解读或者整理。     用户可以通过 GPIO 限制选择寄存器来选择GPIO引脚的输入限制类型。主要由输入异步,仅与SYSCLKOUT同步,采用采样窗限制这几种限制类型。本博文主要讲第三种类型。      GPIO 控制寄存器 GPxCTRL(x=A,B,C) 为配置为输入限制的引脚指定了采样周期。采样周期介于限制采样周期之内,是相对于系统时钟周期的倍数,由该寄存器的QUALPRDn位来指定,一个采样周期可以用来配置8路输入信号,具体的配置请见表1。而 GPIO 限制选择寄存器 GPxQSELy(x=A,B,C;y=1,2) 指定了采样窗是 3 个采样点还是 6 个采样点。当有3个或6个连续的采样周期相同时,输入信号才会被采集。 表1: GPIO Port A Qualification Control (GPACTRL) Register Field Descriptions 以上介绍的两个寄存器主要是为 GPIO 的采样窗限制功能进行了必要的配置。下面我引入图 1 ( Qualification Using Sampling Window )和图 2 ( Input Qualifier Clock Cycles ),来使大家清楚地知道 GPIO 的输入限制是怎样完美的去除我们不需要的噪声的。 图1: Qualification Using Sampling Window 图2: Input Qualifier Clock Cycles 因为输入的信号时异步的,为了同步,在限制窗开始之前必须要有一个 SYSCLKOUT   的延迟。在图 2 中,输入限制将忽略这个尖刺小脉冲。 QUALPRD 位域值限制采样周期, 8 位值范围为 0~255。 当 QUALPRD 为 0 时,无限制输入,此时采样周期与 SYSCLKOUT 同步。对于任意一个“ n ”值,限制周期  = 2*n 个系统时钟周期( SYSCLKOUT ),即每 2*n 个系统时钟周期, GPIO 引脚进行一次采样。当 6 个采样都为同一个值时,才可以确定一个输入。 具体的采样周期的配置和采样窗的配置可参考上文列出的表格。     当有输入限制时将检测输入变化,输入必须稳定( 5*QUALPRD*2 )个 SYSCLKOUT 周期,以保证检测时 6 个采样点的采样相同。例如 QUALPRD=1 时,输入必须有 10 个或者 10 个以上的稳定的 SYSCLKOUT 周期,因为外部信号是异步驱动的, 11 个 SYSCLKOUT 周期宽度的脉冲可以确保可靠的识别。     欲完整了解GPIO可参考附件。由于水平有限,难免会有错误,一切以TI提供的技术手册为准。
  • 热度 1
    2012-11-18 13:53
    656 次阅读|
    0 个评论
        下午一开始是 James 对 TI 的无线产品做了大致的介绍,其中有一个视频令人影响深刻,测试设备 no PA ,但是测试距离却达到了 25km 。另外介绍了几种常见的无线机制的通信距离与速率,包括 wifi , Bluetooth , Zigbee , Sub-1G , BLE (本人对这个比较感兴趣)。      接着是本次研讨会的重点,也是本人重点关注的(也是大部分与会者的焦点所在),由 Johnson 介绍数字电机的控制。 Johnson 详细细说了几种电机各自的优缺点及应用场合。对于 PMSM (永磁同步)和 BLDC (无刷直流)的实现原理和 TI 提供的解决实现方案做了重点阐述。另外也对交流异步电机的控制作了说明。至今印象深刻的是桥接电路的电流采样方案与成本的折中。本人也就三相桥接电流的单电阻采样与 Johnson 进行了交流,我的解决方法有幸得到了他的认同,深感欣慰。紧接着是 F28069 的 Demo 实验,从实验中了解 CCSV5 的应用和芯片中内嵌的 FPU , CLA 的优势应该是研讨会安排此次实验的目的所在。      然后是对 PLC 以及其前景的介绍。这里令人耳目一新的技术是利用电力线传递信号。北京世状的工程师还就此进行了演示,利用手机发送命令给 PLC 服务器端,服务器端就利用电力线传递信号到受控端控制灯的亮度与开关。      最后的环节是抽奖,因为本人没有交换名片,因此只能 ” 眼睁睁 “ 地看着别人领取 F28069 的开发套件,羡慕嫉妒恨啊!不过,最后 TI 给每位与会者赠送了 F28027 的套件和一个带 TI 标志的洗漱包。      就这样,一天的研讨会至此结束了,感谢 TI 。但我充实的一天应该还没完,我还得将之记录下来,也正是我现在正在做的。     P.S.: 茶餐点心和午餐都非常棒,不愧为五星级酒店,再次感谢 TI 提供的机会!
相关资源
  • 所需E币: 3
    时间: 2020-4-3 15:50
    大小: 3.12KB
    上传者: givh79_163.com
    DSPc2000程序员高手进阶.pdf,DSPc2000程序员高手进阶……
  • 所需E币: 4
    时间: 2020-4-7 10:12
    大小: 1.01MB
    上传者: 16245458_qq.com
    C2000系统设计(硬件部分)1C2000DSP系统设计:硬件部分北京瑞泰创新科技有限责任公司上海办事处地址:长宁区定西路1100号融泽大厦2楼B座Tel:(021)62523762/62523763Fax:021-62517801http://www.realtimedsp.com.cn瑞泰创新www.RealtimeDSP.com.cn2目录系统方案设计原理框图DSP器件的选择与设计DSP器件电源的选择与设计AD器件的选择与设计DA器件的选择与设计LOGIC器件的选择与设计DSP系统的存储器选择DSP与上位机通讯接口设计DSP自启动模式(BootLoader)的创新设计PCB布线的设计与技巧具体方案示意瑞泰创新www.RealtimeDSP.com.cn3系统方案设计原理3MEMLPFADCWDC&SLogicCPLD/FPGACPLD/FPGA1FIFO时钟读DSP写4DSPTMS320ResetLPFDAC3.3v1.8v2HostSupervisorRegulatorPowerSupply瑞泰创新www.RealtimeDSP.com.cn4选择C2000DSP的应用场合和理由EfficiencyinMIPS,memory,power,space,costEfficientperformance(#ofchannels)Lowestpower(mW/channel)瑞泰创新Reducedspace(in2/channel)www.RealtimeDSP.com.cnLowersystemcost($/channel)5C2000DSP的分类比……
  • 所需E币: 3
    时间: 2019-12-25 21:38
    大小: 2.32MB
    上传者: rdg1993
    最新Flash烧写插件v1.12.0forCCSC2000v2.21最新Flash烧写插件v1.12.0支持器件:LF240x,LF240xA,F28xx开发环境:CCSC2000v2.21……
  • 所需E币: 4
    时间: 2019-12-25 16:57
    大小: 121.06KB
    上传者: givh79_163.com
    随着酒店规模的不断扩大和服务层次的提高,酒店业务量和复杂程度的逐渐加大,对酒店管理的要求也越来越高。由此,基于网络的客房智能管理系统便应运而生。网络型客房信息与控制系统集智能灯光控制、空调控制、服务控制与管理功能于一体,具有智能化、网络化、规范化特点,将科学的管理思想与先进的管理手段的相结合,帮助酒店各级管理人员和服务人员对酒店运行过程中产生的大量动态的、复杂的数据和信息进行及时准确的分析处理,从而使酒店管理真正由经验管理进入到科学管理。采用成熟的以太网TCP/IP通信协议,保证了整个系统的稳定性和可靠性,克服了目前国内其它公司普遍采用的上一代酒店客房控制系统RS-485总线联网方法速度慢、可靠性较差以及多种网络布线复杂、重复建设等各种问题。……
  • 所需E币: 3
    时间: 2019-12-25 10:09
    大小: 4.8MB
    上传者: 978461154_qq
    DSPC2000程序员高手进阶……
  • 所需E币: 4
    时间: 2019-12-25 09:57
    大小: 385.68KB
    上传者: 微风DS
    C2000c语言教程,言简意赅,适合学习!第15章DSP的C语言编程15.1DSPC语言简介DSP生产厂商及第三方为DSP软件开发提供了C编译器,使得利用高级语言实现DSP程序的开发成为可能。在TI公司的DSP软件开发平台CCS中,又提供了优化的C编译器,可以对C语言程序进行优化编译,提高程序效率,目前在某些应用中C语言优化编译的结果可以达到手工编写的汇编语言效率的90%以上。DSP生产厂商和相关公司也在不断对C优化编译器进行改进设计,相信日后C语言程序优化编译的效果会有进一步的改善。TMS320C2000系列提供有优化的C编译器,它支持ANSI(AmericanNationalStandardsInstitute,美国国家标准委员会)开发的C语言标准,该C语言标准是使用最广泛的C语言标准,ANSI标准具有一些受目标处理器、运行期环境或主机环境影响的C语言特性,从有效性或实现上的考虑,这些特征在各种标准的C编译器之间可能有不同。15.2DSPC语言特性15.2.1TMS320C2000C语言的特征(1)标识符和常数所有标识符的前100个字符有意义,区分大小写。源(主机)和执行(目标)字符集为ASCII码,不存在多字节字符。具有多个字符的字符常数按序列中最后一个字符来编码,例如:‘abc’==‘c’(2)数据转换浮点到整数的转换取整数部分。指针和整数可以自由转换。(3)表达式当两个有符号整数相除时,若其中一个为负,则其商为负,余数的符号与分子的符号相同。斜杠(/)用来求商,百分号(%)用来求余数。例如:10/-3=-3,-10/3=-3,10%-3=1,……
  • 所需E币: 5
    时间: 2019-12-24 14:53
    大小: 1.81MB
    上传者: 16245458_qq.com
    C2000digitalcontrolC2000Real-TimeTMMicrocontrollerswww.ti.com/c200020122C2000MicrocontrollersMicrocontrollersdesignedforpowerelectronicsandprecision-sensingapplicationsTheC2000MCUAdvantageAttheheartofC2000microcontrollersisanapplication-focuseddesign.ManyuniquefeaturesareincludedtoimproveWitha32-bitarchitecture,DSPprocessingandadvancedcontrolperformanceofpowerelectronicsapplications.Thisapplicationperipherals,theC2000MCUfamilyenablesuncompromisingperfor-……
  • 所需E币: 3
    时间: 2019-12-22 04:30
    大小: 7.08MB
    上传者: wsu_w_hotmail.com
    TIC2000教程……
  • 所需E币: 4
    时间: 2020-1-6 17:38
    大小: 1.85MB
    上传者: 16245458_qq.com
    我们将介绍C2000微控制器系列在其16年历史进程中的关键发展。……
  • 所需E币: 3
    时间: 2019-6-17 22:46
    大小: 25.44MB
    上传者: royalark_912907664
    越控越有趣-TIC2000LaunchPad炼成记
广告