|
假期回来,翻到以前在使用MCU时记录的遇到的问题文档,想来简单做一下分享。 , l6 e, O: m7 Z Z 1. 在使用CubeMX 生成STM32F03C8T6的code后,调试的时候,会提示“ JLink Info: CPU could not behalted” # r& L) {7 r$ t' @4 Z) _8 D) n 这个问题提的解决方案是:HAL_MspInit()中的_HAL_AFIO_REMAP_SWJ_DISABEL;注释掉,换成_HAL_AFIO_REMAP_SWJ_NOJTAG(); 9 H X9 V+ A; y 2. STM32 自锁如何解锁?调试的过程中会提示 “No Cortex-M SW Device Found” 首先看一下MCU的启动模式:
简单的说,正常的芯片自锁,就是将Flash存储进行读写保护,使得不能运行程序。而我们的做法就是将Boot0置高,使程序从系统 存储器启动,找到芯片之后,重新往Flash 中下载一个正常代码,比如点灯程序,之后再换回Flash启动,芯片即可完成解锁。 3. M系列使用的Flash是FLM,ARM7/ARM9使用的是flx。 - ^( Z2 P% a; g% b1 z7 k' K2 j7 c 4. 使用STM32生成指定数目的脉冲个数 STM32重复计数器,TIMx_RCR,当它的值是个非0值N时,计数器不再每次溢出时产生更新事件,而是当发生N+1次溢出时才产生更新事 件。如果RCR=0时,就是每次溢出都产生更新事件,那么当把单脉冲输出模式与RCR寄存器配合使用,就不难生成指定数目的脉冲个数。 . a, T8 T/ d5 ~' ~$ B4 N) y此时脉冲个数为TIMx_RCR的值加1。 ' b( G, \5 e; m1 v- g- w5 D 5. STM32上移植u8g2 / S. }# n( `/ R+ G) p 移植完编译的时候,会遇到Error 4 y1 s# Z1 M9 B8 Q7 ^ 6406E类错误,提示“No space in execution regions”。应该时RAM溢出1.在keil option里面的编译优化选项,从level0调高到level1或2.将比较大的函数挂在数组定义成const,也就是放到flash里面。 6. keil5 中jlink选择芯片时,选错了Core怎么办? + C" }1 A0 H& V: Y/ p" N; x" M 如果选错了,会出现Core flash失败。在项目文件夹中,删掉JlinkLog.txt和JlinkSettings.ini即可,然后在弹出的界面中重新选 择Core。 4 g; U4 D3 _4 d$ T6 m, f( c 2 Q2 r& Y2 F! k4 M' N |
【STM32C0116-DK】介绍、环境搭建、工程测试
【BlueNRG-LP 蓝牙开发板】介绍、环境搭建、工程测试
STM32H750DK智能零售界面设计——3TouchGFX图片和文字资源管理
STM32H750DK智能零售界面设计——2商品显示GUI和交互函数
STM32H750DK智能零售界面设计——1TouchGFX和方案设计
2025国庆中秋活动体验报告1——TouchGFX4.26
【STM32F769I-DISC1】测评03:使用板载的串口6制作生物体监测
【GUI板免费申请活动】STM32H745I-DISCO 环境监测
兔哥的初代M33【001】-L5DK亮屏
聪聪探索TouchGFX的学习使用流程(一):
微信公众号
手机版
您好。我是北京XXXX刘工,我司是MCU原厂,目前主推的103系列跟ST、GD、极海跟雅特力等都是pin to pin使用的。我司103系列主频216Mhz,Flash最高达1024KB,RAM为96KB。价格能排进全国前三。还可提供技术支持,做到保姆式服务。