打印

小弟谈一下MCU的软件调试方面的经验

[复制链接]
2154|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
figo20042005|  楼主 | 2012-6-20 09:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一般我们初期方案确定下来后,我们可以很快写完程序。如果时间比较宽裕的情况,我们可以使用PROTEUS和MATLAB进行仿真,那些简单直接的控制可以通过PROTEUS简单的模拟,使用LED观察IO,输入用开关给电平等简单操作模拟下。当你的程序直接跑PROTEUS仿真时,有问题。查看哪一块有误,就单独取这块程序进行测试,确保无误后再将其他程序加入,看是否哪一块对其影响。
  程序的测试也可以进行黑白盒测试,对你写的函数单独测试,输入测试,确定测试情况是符合你的输入情况,再测输出看是否符合,出现问题情况再内部分析测试。完整性测试,确保模块测试无误后,主要是各函数之间输入,输出关系的测试。一旦发现哪一块有问题,要将其相关联的变量和关系进行测试,取各种关联的极端情况或者赋值运算,看受影响的模块是否正常,最后确定影响的因素进行分析。
  如果这些应用方面的变量和关系运算都正常,查看初始化,这个就需要细读DATASHEET,或请教这方面的专家,对初始化的产生的情况分析。
  另外一些复杂运算和模型,可以通过MATLAB进行仿真观察变化曲线,可以对实验结果进行预测,有助于调试。
  最后我们仿真中参数的观察可以通过仿真软件WATCH口观察,也可以通过自己的板子进行显示,一些IO口电平的观察,我们也可以利用仿真中的示波器插件观察。
  关于PID调节,模糊算法,数学模型的调试和MATLAB仿真,我推荐本书《基于模型的设计——MCU篇》,虽然写的还不是很详尽,但有些方法值得学习

相关帖子

沙发
onlyrcy| | 2012-6-20 09:47 | 只看该作者
软件测试是个大工程,就是把可能出现的问题都严格的测试,以确保系统的稳定性。

使用特权

评论回复
板凳
gaochy1126| | 2012-6-20 09:56 | 只看该作者
仿真都是理想化的东西,在现实中就不一定能够适用!

使用特权

评论回复
地板
sedatefire| | 2012-6-20 10:03 | 只看该作者
仿真替代不了现实,如下原因
1.基于“理想的硬件环境下”进行仿真
2.各种外部内部中断,时序上无法和现实相同
3.用户输入难以尽善尽美

使用特权

评论回复
5
alenwei| | 2012-6-20 10:05 | 只看该作者
调试方面的经验不错,不过仿真有时是可以进行大体方向的试探

使用特权

评论回复
6
joker319| | 2012-6-20 10:06 | 只看该作者
一般情况下从来没用过仿真
验证除了结果,还的一步一步调试

使用特权

评论回复
7
tianm| | 2012-6-20 10:46 | 只看该作者
带有复杂算法系统是需要仿真的  不过不是MCU的强项

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:need to study

16

主题

1576

帖子

3

粉丝