打印
[其他ST产品]

在使用中STM32MCU时遇到的一些问题笔记

[复制链接]
747|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2023-10-11 10:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假期回来,翻到以前在使用MCU时记录的遇到的问题文档,想来简单做一下分享。

    1. 在使用CubeMX 生成STM32F03C8T6的code后,调试的时候,会提示“ JLink Info: CPU could not behalted”

     这个问题提的解决方案是:HAL_MspInit()中的_HAL_AFIO_REMAP_SWJ_DISABEL;注释掉,换成_HAL_AFIO_REMAP_SWJ_NOJTAG();

     2. STM32 自锁如何解锁?调试的过程中会提示 “No Cortex-M SW Device Found”

          首先看一下MCU的启动模式:

         

          简单的说,正常的芯片自锁,就是将Flash存储进行读写保护,使得不能运行程序。而我们的做法就是将Boot0置高,使程序从系统

存储器启动,找到芯片之后,重新往Flash 中下载一个正常代码,比如点灯程序,之后再换回Flash启动,芯片即可完成解锁。

  3. M系列使用的Flash是FLM,ARM7/ARM9使用的是flx。

  4. 使用STM32生成指定数目的脉冲个数

   STM32重复计数器,TIMx_RCR,当它的值是个非0值N时,计数器不再每次溢出时产生更新事件,而是当发生N+1次溢出时才产生更新事

件。如果RCR=0时,就是每次溢出都产生更新事件,那么当把单脉冲输出模式与RCR寄存器配合使用,就不难生成指定数目的脉冲个数。

此时脉冲个数为TIMx_RCR的值加1。

5. STM32上移植u8g2

  移植完编译的时候,会遇到Error6406E类错误,提示“No space in execution regions”。应该时RAM溢出1.在keil option里面的

编译优化选项,从level0调高到level1或2.将比较大的函数挂在数组定义成const,也就是放到flash里面。
  
6. keil5 中jlink选择芯片时,选错了Core怎么办?

  如果选错了,会出现Core flash失败。在项目文件夹中,删掉JlinkLog.txt和JlinkSettings.ini即可,然后在弹出的界面中重新选

择Core。

使用特权

评论回复
沙发
Stahan| | 2023-10-11 19:39 | 只看该作者
FLM和FLX有什么区别啊?

使用特权

评论回复
板凳
tpgf| | 2023-11-6 11:51 | 只看该作者
默认情况下,STM32 会进行自锁吗

使用特权

评论回复
地板
guanjiaer| | 2023-11-6 13:07 | 只看该作者
JlinkLog.txt里边的内容可以手动更改吗

使用特权

评论回复
5
heimaojingzhang| | 2023-11-6 14:23 | 只看该作者
guanjiaer 发表于 2023-11-6 13:07
JlinkLog.txt里边的内容可以手动更改吗

在这个文档是自动生成的 不需要手动更改

使用特权

评论回复
6
paotangsan| | 2023-11-6 15:03 | 只看该作者
一般情况下  程序是从系统的哪部分启动的呢

使用特权

评论回复
7
renzheshengui| | 2023-11-6 22:22 | 只看该作者
自锁次数多了 会造成锁死的现象吗

使用特权

评论回复
8
keaibukelian| | 2023-11-6 23:15 | 只看该作者
有没有遇到过生成的代码和实际硬件不匹配的情况呢

使用特权

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

本版积分规则

1531

主题

4683

帖子

6

粉丝