28335——CCS5.1奇葩问题
各位论坛大神!最近调试28335(使用CCS5.1为调试工具)发现奇葩问题:写了一个工程,里面包含了一个电网锁相的程序,调试2个月都没有问题。前两天加入了两个新的文件后,编译通过,没有任何错误。但是上电后发现锁相环完全不准确,失效;但是奇怪的是:按一下28335的复位后,又能正确执行;
而后将加入的两个文件删除,又回复正常。。
给大家描述一下遇到的问题,具体原因还在查,可能是程序的问题。但即使程序没有调用,整个软件也会出现问题。 后续的调试经历也发上来,给大家参考下 兄弟们,问题解决了!
是F28335.cmd文件的问题。
就是说,原本自带的28335.cmd(从库里面拷贝过来的)其中的ebss段很小,只有0x1000,我加大了,变成三倍就问题了。
但是问题出现了,为什么编译的时候CCS不报错呢???
明天把cmd文件贴上来。 本帖最后由 596142041 于 2014-10-30 21:16 编辑
这、、、这种软件应该无法检测到吧!楼主你说锁相的程序能否共享一份呢?如果涉及到你们的产品那就不用了 我使用CCS5.1好像也会出问题,不知道怎么回事,有时自己就好了 596142041 发表于 2014-10-30 21:14
这、、、这种软件应该无法检测到吧!楼主你说锁相的程序能否共享一份呢?如果涉及到你们的产品那就不用了 ...
Sorry哦~~算是公司财产咯~~不好给的啦。。。 请问锁相程序有考虑三相不平衡的问题吗?假如有,可以讲一下实现的原理吗? CCS从来不检查超界问题。直到你调试时程序跳转出问题了才知道,还美其名曰这是给用户自主控制。 测试CCS5.2可以检测出来cmd问题。 jinyi7016 发表于 2014-11-5 11:46
测试CCS5.2可以检测出来cmd问题。
多谢提醒。我们这边会尽快更新上去。。。 ebss 段一般为全局变量区吧 —— 楼主的程序编译好了之后,都不检查各段(尤其是数据区)的分配是否合理,比如堆栈区的分配是否足够 ? EMC菜鸟 发表于 2014-11-6 11:06
ebss 段一般为全局变量区吧 —— 楼主的程序编译好了之后,都不检查各段(尤其是数据区)的分配是否合理, ...
弱弱问一句,每次编译程序,你都会检查么?我觉得这是编译器的事情。不足了,提醒下。 本帖最后由 EMC菜鸟 于 2014-11-6 14:16 编辑
Nexus 发表于 2014-11-6 14:10
弱弱问一句,每次编译程序,你都会检查么?我觉得这是编译器的事情。不足了,提醒下。 ...
你在楼主位遇到的问题,编译器提醒你了么?
DSP目前还在研究中,目前用于产品的处理器,程序的最终版本我都要检查的。 EMC菜鸟 发表于 2014-11-6 14:15
你在楼主位遇到的问题,编译器提醒你了么?
DSP目前还在研究中,目前用于产品的处理器,程序的最终版本 ...
编译器没有给出提醒,最终版本必须好好测试啊。。。CCS5.1的奇葩问题。 cmd ebss段溢出一般都会提醒吧 好像又有问题了,加了一段代码,就又出现问题,搞不懂。。。同样的症状,直接上电不行,复位下就没问题。。。 这个问题我现在统一回复下,CCS没有问题,是我个人的问题。
简单说是我的程序出现了一个小漏洞,而添加代码后,这个漏洞会显现出来。所以会造成这种状况。。
各位可以安心使用CCS。
封贴。 电网锁相 是硬件上实现的么?求思路 , jinyi7016 发表于 2015-1-10 19:21
电网锁相 是硬件上实现的么?求思路 ,
不是,软件上面实现的。只要计算速度足够就可以。 谢谢分享经验,学习了! Nexus 发表于 2015-1-10 22:32
不是,软件上面实现的。只要计算速度足够就可以。
这是什么产品,锁相是为了测零点还是测频?能指教下思路么? jinyi7016 发表于 2015-1-11 11:05
这是什么产品,锁相是为了测零点还是测频?能指教下思路么?
不是产品,是实验品。不是为了测过零点。
可以获得电网的频率,和相位。方便与电网进行同步。
电网的角度对于功率控制非常重要。 Nexus 发表于 2014-10-30 19:27
兄弟们,问题解决了!
是F28335.cmd文件的问题。
就是说,原本自带的28335.cmd(从库里面拷贝过来的)其中 ...
cmd文件范围有问题就是不会报错的,以前见过很多次你的这个还能运行,很多都是写flash时提示有问题只能写到ram中 Nexus 发表于 2015-1-11 16:57
不是产品,是实验品。不是为了测过零点。
可以获得电网的频率,和相位。方便与电网进行同步。
那怎么得到角度呢? weichao4808335 发表于 2015-1-11 19:14
cmd文件范围有问题就是不会报错的,以前见过很多次你的这个还能运行,很多都是写flash时提示有问题只能写 ...
cmd分配的区间不够的话,在map文件里面放不下了就会报错。我尝试定义一个非常大的数组,放不下后确实报错了。 jinyi7016 发表于 2015-1-11 21:52
那怎么得到角度呢?
通过所谓的“锁相环”。
具体的比较麻烦,有单相的和三相的,方法千差万别,不是一句话能够说明白的。
如果感兴趣的话,可以看一下matlab下面simulink工具箱里面的锁相环,这个是最基本的三相锁相环。 Nexus 发表于 2015-1-11 23:08
cmd分配的区间不够的话,在map文件里面放不下了就会报错。我尝试定义一个非常大的数组,放不下后确实报错 ...
我说的是再cmd里面把flash地址写的比实际的大的话编译时是不会报错的
页:
[1]