(1) 开发板选择: 国内有很多开发板厂家,这里就不一一列出,大家可以根据需要选择;同时一些论坛会搞活动免费赠送开发板,比如21IC中国电子网经常有免费赠送开发板的活动,大家可以多多关注。TI商场提供了各种评估板可以选择(https://estore.ti.com/Basket.aspx )。 (2) 仿真器选择: 仿真器的选择很重要,一定要选择一款稳定性比较好的仿真器,速度可以根据自己的需求选择。经常有网友遇到连接失败,下载失败等问题,很大可能都是仿真器不稳定造成的,多次插拔或者重启电脑后可以正常连接,这种情况容易造成在固化flash的过程中突然停止,造成C2000控制器的损害。选择仿真器的时候一定要关注仿真器所能支持的CCS版本和控制器的型号。 (3) CCS安装使用: 要正确的找到下载地址:http://processors.wiki.ti.com/index.php/Download_CCS,下载前肯定是需要注册的,也有很多人找到后下载不成功,具体下载步骤如下: - 关于CCSv5的安装使用可以参考德州仪器在线支持社区(www.deyisupport.com )中的帖子:http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/73250.aspx
- 关于CCS功能介绍和使用最详细的word版资料应该在这里(http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/73245.aspx ),虽然是针对CCS3.3讲解的,但是整体功能介绍全面深入,非常有助于你熟练掌握CCS的强大功能,赶快去下载吧。
(4) 入门学习: 关于入门学习给大家分享一些经典资料,资料可以带领我们入门学习,熟悉CCS使用和丰富的外设结构,并且有工程代码参考。 - Getting Started With TMS320C28x Digital Signal Controllers(http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/73246.aspx );
- 手把手叫你学习DSP电子版书籍:http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/73249.aspx
- TI面向支持实时控制应用的C2000 微处理器推出 controlSUITE 软件,以全面满足每个设计阶段对更加直观易用的软件的需求。具体下载地址:http://www.ti.com/tool/controlsuite
(5) 目标板硬件问题排查:
a、检查仿真器是否插好;
b、检查CPU供电问题,1.8V,3.3V的供电是否正常;
c、检查DSP引脚是否虚焊(一般先检查JTAG的那几个引脚);
d、检查晶振是否起振;
e、检查JTAG的那几个引脚电平是否正确,特别注意TCK是否有脉冲输出,以检测仿真器
是否好坏;
f、检查DSP上电是否正常复位(复位电平或者说是复位电路是否正常工作)、工作,可
d、查看CLKOUT 引脚,看是否有脉冲输出。
(6) 程序在线仿真工作正常,烧写后不执行问题总结: 程序烧到Flash之后,请用不要断开仿真器,用Load Symbols将程序加载,然后运行,Flash在线调试,看看程序跑到什么地方了? 另外,程序中是否使用Delay_us()函数,此函数是否已经copy到Ram中执行。
l Stack的大小开的是否足够? l 看看程序是否进入了什么illegal ISR? 请确认是否正确初始化FLASH waitstates,通过以下方法:
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
// Call Flash Initialization to setup flash waitstates
// This function must reside in RAM
InitFlash();
//
- ./*** Copy all FLASH sections that need to run from RAM (use memcpy() from RTS library) ***/
// Section secureRamFuncs contains user defined code that runs from CSM secured RAM
memcpy( &secureRamFuncs_runstart,
&secureRamFuncs_loadstart,
&secureRamFuncs_loadend - &secureRamFuncs_loadstart);
//copy from the flash to the ram for change the registers of the flash,
/*** Initialize the FLASH ***/
InitFlash();
|