CCS 使用小知识
烧写方法:
1. Texas Instruments\DSP.com/forum.php?mod=forumdisplay&fid=58" target="_blank" class="relatedlink">CCSv5\ccs_base\emulation\specdig\sdconfigex\SdConfigEx.exe ---复位仿真器
2.Texas Instruments\ccsv5\ccs_base\emulation\specdig\sdflash\bin\SDFlash.exe --烧写.out文件
DSP堆栈问题
在CCS开发编程,出现一个函数返回值不时出现异常值0x00,后发现函数出来之前值都是对的,返回的值就错了。应该是堆栈溢出,但堆栈不能改大,只能通过全局变量来返回数据。
DSP 数据长度问题
定义unsigned char 变量,理论上最大值为255,再加1应该变成0,但在DSP的CCS编程不是。DSP没有8位的存储单元,都是16位的。即使定义char变量,也还是16位,要注意!
- Driver: boot_temp\make_image\sd_proj_usb\sdgo28xusb.dvr
- Algorithm boot_temp\make_image\sd_proj_usb\28345_M25P16_Flash_Boot.out
- Programming:
- Flash Data
- D:boot_temp\boot_temp\make_image\boot_20131025.out
复制代码
为什么在CCS中,unsigned char占两字节空间?
DSP没有8位的存储单元,都是16位的
- a = sizeof(unsigned char);
- b = sizeof(unsigned short);
- c = sizeof(unsigned int);
- d = sizeof(unsigned long);
- a=1; b=1; c=1; d=2; (sizeof是以字为单位)
复制代码
1.include 路径添加
右键工程--build propertie--C2000 compile-- include options
2.堆栈大小更改
右键工程--build propertie--C2000 Linker-- Basic Options
3.支持FPU
右键工程--build propertie--C2000 compile -->RunTime Model Options -->Specify floating point support(--float_support) fpu32
需要加载头文件 math.h 库文件使用 rts2800_fpu32.lib,同时在ccs的编译选项中设置支持fpu32即可
在计算除法的时候尽量把除法化为乘法计算,乘法比除法速度快的太多了
- value=value*0.5;// 3 cpu cycles
- value=value/2;//155 cpu cycles===1us
复制代码
(3)显示变量HEX格式
|