你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32调试小结

[复制链接]
aimejia 发布时间:2018-5-22 16:01
      花费一个月时间玩了一下STM32,因工作原因好几年没有编程了。鉴于工作需要学习了一下STM32固件库的编程,针对一个月的重拾编程以及程序调试工作进行总结。

       STM32开发优点:

       1.固件库大大简化开发难度,提高编程效率;

       2.固件库中各种外设程序范例详实,可以直接拿来使用;

       3.仿真器便宜,淘宝上几十元就可以搞定。本人使用以前BLE电路上的J-LINK盗版仿真器,

注意该版本仿真器驱动一定要注意版本。

       当时安装驱动程序搞了一下午都连接不上,使用J-LINK V6.12J才搞定。一定要注意驱动

版本不能太新,最好不要超过v6.14版本。

       缺点:

       1.几种工作模式切换较慢,特别是从停机模式切换到运行模式时(使用片外晶振模式)

的时间需要2ms到3ms,这种速度特别是和蓝牙模组配合起来时,若接收蓝牙数据反映特别慢。

       2.IC内部各种外设通道已经固定分配好,不能想其他BLE IC进行灵活分配。如在调试

DMA传输I2C数据时使用固件中程序出现一堆的问题,调试过程中才发现原来自己将DMA通

道修改了。STM32的DMA通道都是已经分配好的,不像其他SOC可以灵活分配。如下图所示:

1.png

       如上所示I2C_TX和I2C_RX已固定分配为DMA1中的6和7通道。纠其原因是自己懒得看参考手册。

       编程以及调试总结:

       1.在多中断时处理原则为关键性或小概率(如数据传递处理等)出现的中断设置为

高中断等级,对非关键性或大概率(如定时器或RTC中断)中断设置为低中断等级。

       2.程序的调试过程是很蛋疼的过程,秉持原则就是耐性追根溯源。要精读调试功能

所涉及到的芯片资料,需要仔细比较程序中相关变量或寄存器的值是否正确,这里调试

过程中软件的使用就非常重要了(不要再懒惰,不去看手册)。

       3.keil mdk调试方法小结

        ~逻辑分析仪的仿真(没有示波器时比较有用)  

        a.设置为软件仿真。

2.png


        b.选择sybomls查看程序所涉及到的寄存器,或者是直接输入引脚如PORTB.0即可开始逻辑分析仪仿真。

3.png
4.png

        如上图所示中special function registers中有着所有功能设置标志位,将其将入逻辑分析仪即可开始仿真。

       c.调试中最重要的模块,查看所有外设的寄存器功能值,依照此来进行调试即可。
5.png

      d.调试过程中可以查看局部变量或全局变量的值,但有时需要查看某些指针对应的变量值,此时可以使用memory输入地址即可直接查看。

6.png
      附加备注:

7.png
      USE_STDPERIPH_DRIVER宏定义为使用固件库,在头文件中包含所有外设头文件。

      STM32F10X_MD宏定义为IC属于大容量器件类型。


  转载自荷兰风车

收藏 评论1 发布时间:2018-5-22 16:01

举报

1个回答
与龙共舞 回答时间:2018-5-22 19:20:24
写的不错 大神

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版