IAR 使用中遇到的问题

Stm32芯片在市场上占有很高的份额,开发stm32的集成开发环境也很多,目前使用最多的两款开发环境为keil,和IAR。两款软件都比较好用,没有谁比谁好之说,各有优缺点,这里不做详细的对比。
       在之前的开发中经常使用keil5,兼容性方面,调试,库的加载和升级都很方便,但是随着项目代码量的增加,发现这个软件编译,链接都会非常的慢,喝杯茶回来还没编译好,哈哈。
      后来就使用IAR,这个软件编译上是真的快,调试功能也很强大,虽然是付费软件,但是好在网上有很多大神提供了很多破解版(有钱还是建议去买正版,咳咳)。但是一些IAR配置项总是感觉没有keil那样简单明了,虽然用习惯了一样,但是最忍不了的就是它的版本兼容性太差,好多工程用高版本编译的,低版本的IAR就无法打开,而且像MSP430,51单片机,或者stm8等都有单独的版本,项目一杂,在加上项目的更新迭代,电脑上已经安装了n多个版本的IAR,每次打开工程都很苦恼,在之前参加IAR的研讨会的时候,IAR原厂的人做一些demo的演示,也会出现打不开编译不过的情况,最搞笑的是解决办法是卸载重装。


不过除了兼容性问题,IAR真的很好用,我们的解决办法就是固定一个版本,不升级来解决版本杂的问题。
但是通过cubmx自动生成的版本默认IAR最高版本,所以在调试时很不方变我在安装IAR 8.40版本的时候就遇到了很多奇葩问题。


1.首先IAR打开cubmx生成的项目,总是闪退,无响应,或者是debug的时候直接崩溃,原来以为是破解的不到位,最后发现是项目存储位置包含中文路径导致。


2.Debug的时候总是报错,无法将程序下载进去,我用的是j-link。
这里你肯定要先确认IAR里面的配置是j-link的,芯片型号,flash选择都是没问题的。最后发现是因为IAR版本太高它集成的j-falsh也比较高,我的j-link是v8的所以出现这个情况,那我没v9啊,也好办,将j-flash版本改低就行了。
(1)复制C:\Program Files (x86)\SEGGER\JLink_V494h的jLinkARM.dll文件
(2)替换C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.4\arm\bin中的jlinkarm.dll


3.函数无法跳转,提示.pbi文件无法生成,原因也是因为刚才的中文路径导致,之前编译信息未清除,导致无法跳转,project-->clean,然后rebuild all.
还有就是你的tools-->options里面的选项要勾选上

IAR 使用中遇到的问题_第1张图片
之后再遇到IAR问题再进行补充,想要IAR软件的,可以私信我。

你可能感兴趣的:(stm32,IAR,IAR问题,IAR函数无法跳转)