在CCS3.3环境下使用28335的配置方法和优化指南2

更新时间:2024-05-09 20:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

让我们的CCS3.3能跑28335是一个很浩大的工程,充分利用28335的浮点运算核也还需要进一步的优化和配置。通过这份指南,希望能给大家的28335使用提供一些帮助。

一.基本配置

首先,给出一份别人的攻略的修改版……(红色是我自己写的…): 1. 首先安装CCS3.3了

2. 安装CCS3.3的补丁1—CCS_v3.3_SR11_81.6.2,再安装2—F2823x_RevA_CSP。 (以上不解

释)

3. 安装安毕,启动CCS3.3 Setup 后找到F28335 XDS510之类的选项,把仿真器设置 好,

这一步跟以前F2812是一样的。(根据仿真器类型的不同,我们可能需要装相应的驱动,甚至以及该仿真器的28335芯片支持,具体流程仿真器附带光盘应该有)

合众达仿真器配置方法:SEED-XDS510PLUS仿真器安装、使用指南_CCS3.3 Below_.pdf 4. 安装补丁:setup_C28XFPU_CSP_v3[1].3.1207,安装完毕,重启系统

5. 安装C2000CodeGenerationTools5.0.0程序,最好不要选默认路径,要装到以下目录:

如果安错地方了,还可以按照以下步骤做了:

在其安装文件夹下发现有许多关于C2000的库文件,其中也包括rts2800_fpu32.lib浮点库,把这些库文件拷贝到CCCCStudio_v3.3\\C2000\\cgtools\\lib\\下即可。 (接下来,有个很重要的工作: 打开ccs

找到help->about->component management

在build tools 的C28XX系统中选中C2000CodeGenerationTools5.0.0,然后save,quit.

在主程序菜单选项project的build options中找到floating point support,选上fpu32.

****注意将Optimize for Speed(mf)也选择上,如下:

6. 这时找个例程,连28335,编译,下载。应该是ok了。不过不要高兴太早….

二.优化配置

(在做下面的工作以前,最好是建好自己的工程而不是修改它自带的例程,最好是沿用其他人用过的28335工程模板,然后再在上面进行修改,这样bug会少很多,而且文件管理更加方便。

文件的管理很重要,在后续应用中,需要添加很多库文件和官方源代码,管理不好很容易出现奇怪的错误。

28335提供了强大的浮点运算能力,但是要充分发挥这一功能,一些额外的库是必不可少。其中最重要的就是库C28x_FPU_fastRTS。该模块的功能是把数学运算中最常用的几个函数利用28335的浮点核进行优化,大大提高运算速度。这些函数包括:除法(div),正弦,余弦,正切,反正弦,开方等。具体配置方法如下:

1. 首先进入目录\\C28x_FPU_fastRTS\\V100,分别在include和lib目录下找到

C28x_FPU_FastRTS.h和rts2800_fpu32_fast_supplement.lib文件。

2. 将C28x_FPU_FastRTS.h和rts2800_fpu32_fast_supplement.lib拷贝到自己工程里放头文件

和库文件的地方。我通常是放这里。一个放在include,一个放在lib

3. 根据下图提示,在add file to project中把lib文件加入到工程中。

4. 在DSP安装目录的CCCCStudio_v3.3\\C2000\\cgtools\\lib\\中找到rts2800_fpu32.lib,同样也

加入工程。

5. 找到Project->Build Options->Linker->Advanced tab,选择–priority linker,这样做的目的是

为了在链接库文件时强制按顺序链接库文件。

6. 在Project->Build Options-> Link Order中,将刚才的两个lib文件加入,并按照下图排序。

rts2800_fpu32_fast_supplement.lib一定要首先排序,否则这个库就白装了。

7. 在Project->Build Options-> Linker->libraries中,将include libraries栏中的内容清除,否

则会造成和刚才设置的链接顺序冲突,出现未知问题。把search path改成刚才放lib文件的地方,在我这里,是D:\\DSP source code\\DSP2833x_common\\lib.(所有工程中添加的lib文件最好都放在一个地方)

8. 保存工程,然后可以开始写程序了。 注意:

1. 在主程序头,写上这句话:#include ”math.h”,否则计算会出错

2. C28x_FPU_FastRTS.h文件其实通常用不到,新加的rts2800_fpu32_fast_supplement.lib中

的函数定义在math.h文件里面几乎都有了,除了以下两个函数,功能大家自己研究。如果你的程序用到了以下两个函数,那么主程序里就要加入语句:#include C28x_FPU_FastRTS.h。

3. 大家还需要检查下自己的cmd文件,在中间是否有如下代码:

MEMORY {

PAGE 0 :

FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 }

SECTIONS {

FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD }

如果没有,就添加进去,否则正弦之类的函数会算不对。

4. 在编自己的海量代码之前,写几个数学运算测测速,程序放ram里面。如果sin运算是44

左右的机器周期,结果正确,那基本上就添加成功了。

8. 保存工程,然后可以开始写程序了。 注意:

1. 在主程序头,写上这句话:#include ”math.h”,否则计算会出错

2. C28x_FPU_FastRTS.h文件其实通常用不到,新加的rts2800_fpu32_fast_supplement.lib中

的函数定义在math.h文件里面几乎都有了,除了以下两个函数,功能大家自己研究。如果你的程序用到了以下两个函数,那么主程序里就要加入语句:#include C28x_FPU_FastRTS.h。

3. 大家还需要检查下自己的cmd文件,在中间是否有如下代码:

MEMORY {

PAGE 0 :

FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 }

SECTIONS {

FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD }

如果没有,就添加进去,否则正弦之类的函数会算不对。

4. 在编自己的海量代码之前,写几个数学运算测测速,程序放ram里面。如果sin运算是44

左右的机器周期,结果正确,那基本上就添加成功了。

本文来源:https://www.bwwdw.com/article/nh8g.html

Top