2506|0

1140

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

分享:DSP2833x编程总结 [复制链接]

(1)、报错如下:
-------------------------  tam2012112701.pjt - Debug  -------------------------
[Linking...] "C:\CCStudio_v3.3\C2000\cgtools\bin\cl2000" -@"Debug.lkf"

>> 28335_RAM_lnk.cmd:   error: system error, can't open file '/.obj' for input:
                               No such file or directory
>> Compilation failure
Build Complete,
  2 Errors, 0 Warnings, 0 Remarks.
(2)、解决方法
是修改了CMD文件,看来它的确不能动,我只是做了一些注释,网上说CMD里面不能用" // "注释。
2、
(1)、报错
"tam2012112801.c", line 59: warning: last line of file ends without a newline
(2)、解决
最后一行后多加几个回车键,不要不光标放在最后一行。
3、Include Search Path
C:\CCStudio_v3.3\MyProjects\DSP2833x_common\include;C:\CCStudio_v3.3\MyProjects\DSP2833x_headers\include
4、
注意添加rts2800_fpu32.lib和GlobalVariableDefs.c\
5、
那应该找到原因了,ADC_cal这个函数是默认在ROM里的, 看下面的CMD:
   /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
   .adc_cal     : load = ADC_CAL,   PAGE = 0, TYPE = NOLOAD
6、
"DSP2833x_PieVect.c", line 20: error: identifier "PIE_RESERVED" is undefined
"DSP2833x_PieVect.c", line 36: error: identifier "INT13_ISR" is undefined
"DSP2833x_PieVect.c", line 37: error: identifier "INT14_ISR" is undefined
原因是我没有加DSP281x_DefaultIsr.h所以不行的。
7、
返回的数据只有一个,而且乱码。
解决:ScicRegs.SCICCR.bit.LOOPBKENA=1;
8、
   error: symbol _InitGpio is defined multiple times:
            C:\\CCStudio_v3.3\\MyProjects\\tam2013010901\\Debug\\DSP2833x_Gpio.obj and C:\\CCStudio_v3.3\\MyProjects\\tam2013010901\\Debug\\tam2013010901.obj
解决:删除DSP2833x_Gpio.c
9、
undefined                        first referenced
symbol                              in file
---------                        ----------------
_XINT7_ISR                       C:\\CCStudio_v3.3\\MyProjects\\tam2013010901\\Debug\\DSP2833x_PieVect.obj
_ECAN1INTA_ISR                   C:\\CCStudio_v3.3\\MyProjects\\tam2013010901\\Debug\\DSP2833x_PieVect.obj
_USER10_ISR                     
解决:添加源文件DSP2833x_DefaultIsr.c
10、变量修饰符
static:
修饰变量,函数。作用域:变量仅仅在本文件可见,函数在本文件可以被调用。static在函数内部定义的话,分配在堆中,数值保存在data段,而不是在栈中,而且只赋值一次。
extern:
修饰变量,函数。修饰变量时候,变量的声明在外面,修饰函数的时候,如果函数已经声明,则作用不是很大。
const:
修饰变量,函数。修饰变量时候,不能被重复赋值,只能放在只读段中。修饰函数时候,表明函数的返回值必须为常数。
volatile:
volatile最初的意思是表示汽油容易挥发,在c中的作用大概有两点(1)表示变量是易失的,易变的。(2)强制访存操作,防止编译器去优化,告诉编译器每次必须去内存中取值,而不是从寄存器或者缓存。
11、注意   GpioCtrlRegs.GPBDIR.all = 0xFFFFFFFF;      // GPIO32-GPIO63 are inputs
寄存器GPBDIR是32位的,需要8个字母配置。
GPI的Ctrl寄存器都需要EALLOW和EDIS保护。

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表