STM32在IAR环境下使用Jlink进行debug时,弹窗错误,以及无响应

问题1:

使用jlink下载程序到STM32F103VE中,STM32的工程是使用STM32CubeMX新建好的,在下载过程中也没有弹出错误。工程为一个空的工程,除了使能时钟之外没有使能别的外设。
下载时,出现如下问题,如图:
在这里插入图片描述
下载过程中直接出现未响应,但是实际上是能下载进去的。
但是当你选择debug,Go的时候,如下图,红色框内,则会出现问题。
在这里插入图片描述
经过一番排查,发现STM32CubeMX在配置的时候,下载端口选择了SWD的方式下载,而在Jlink的下载配置中,却选择了JTAG的方式进行下载。解决方法:

  • 1、重新使用STM32CubmeMX生成工程,debug选择JTAG-5。
    在这里插入图片描述
    在这里插入图片描述
  • 2、或者,将IAR的Jlink的下载方式改为JTAG方式下载。
    在这里插入图片描述

问题2:

关于IAR打开经常无响应的问题,或者编译一开始一直卡住无响应,在IAR7的版本时,会发现IAR7是不支持中文路径的,但到了IAR8之后,看似这个问题解决了,其实不并没有。IAR8上,不会因为你的工程路径带有中文,而找不到文件或头文件。但是你的文件加载时间会变得十分长,但又不是因为有别的bug而导致的卡顿,所以不是超高性能的电脑,就会直接显示无响应,但不会闪退之类的。因此解决办法是:

  • 1、将IAR的工程路径级数设置得越少越好。
  • 2、IAR的工程名字尽可能不要带中文或中文符号。
  • 3、IAR的工程路径尽可能不要带中文或中文符号。
  • 4、IAR的头文件路径记得设置为相对路径。
    在这里插入图片描述
  • 5、先测试IAR在None优化等级的时候的编译情况
    在这里插入图片描述
    一般来说这样配好的工程,只要不是代码比较猛,都编译得很快,因为IAR不会像Keil那样单文件编译,而是多文件处理,针对CPU多核也有优化。因此在CPU的选型上,有时需要针对的进行选型,看你是用keil多还是IAR,从而针对往核数还是主频数进行选型。
发布了45 篇原创文章 · 获赞 52 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42312125/article/details/102521927