[技术问答] 论IAR ARM 4.42A工程配置

[复制链接]
 楼主| piteqiu 发表于 2020-4-27 10:47 | 显示全部楼层 |阅读模式
 新建一个IAR工程,并将ST32固件库移植到了该工程中,此时如果直接Compile,会出现找不到头文件的情况。这在情理之中,因为,我们没设置源文件的头文件的寻找路径。此外,我们也没指定芯片的类型。这些工作就是配置IAR的工程,这与IAR的版本密切相关(不同版本的配置界面都不一样,最经典的是IAR4.42A)。
预备知识
  将代码下到单片机中有两种方法:
    1.先生成.sim文件,然后再将该文件下载到单片机中(要更换IAR配置Linker->Output),每次更改代码都要重复上面两个步骤,才能将新代码下到单片机中。
    2.用调试模式,将代码下到单片机的Flash或RAM中,经过配置IAR工程(一次就行),可以达到代码更改后,只需重新进入调试,即:点击IAR中的Debug按钮
  推荐使用第二种。


 楼主| piteqiu 发表于 2020-4-27 10:47 | 显示全部楼层
配置工程
  下面就以IAR4.42A为例,介绍一下配置工程的必须步骤:
  1、板子控制芯片使用的是STM32F103VBT6,所以芯片型号选择STM32F10x系列,多一嘴,最新的M0芯片,要用IAR 6.4版本。
208955ea647f3a6202.png
 楼主| piteqiu 发表于 2020-4-27 10:48 | 显示全部楼层
本帖最后由 piteqiu 于 2020-4-27 10:51 编辑


2、调试时最好将编译器选择不优化,否则有些运算(如位运算)会被优化掉,单步调试时可能会指示篡行。 520035ea648a79e726.png
 楼主| piteqiu 发表于 2020-4-27 10:49 | 显示全部楼层
3、单步调试时,若不勾选,跟踪不是C代码,而是汇编代码

82775ea64864ba64f.png
 楼主| piteqiu 发表于 2020-4-27 10:51 | 显示全部楼层
4、源文件中包含头文件编译器的寻找路径
284175ea648c865d73.png
 楼主| piteqiu 发表于 2020-4-27 10:52 | 显示全部楼层
为了便于拷贝:

    $PROJ_DIR$\..\

    $PROJ_DIR$\..\..\library\inc



  解释:PROJ_DIR代表工程文件(后缀blink.ewp文件)

    $PROJ_DIR$\..\ 表示blink.ewp文件所在目录的上层目录,即:寻找stm32f10x_conf.h和stm32f10x_it.h这两个文件。

    $PROJ_DIR$\..\..\library\inc 表示blink.ewp文件所在目录的上层目录的上层目录下的library目录下的inc目录下,即:寻找固件库的头文件,如stm32f10x_gpio.h、stm32f10x_nvic.h、stm32f10x_rcc.h等。
 楼主| piteqiu 发表于 2020-4-27 10:53 | 显示全部楼层
 5、采用调试模式,还是生成.sim文件
359375ea6490decddd.png
 楼主| piteqiu 发表于 2020-4-27 10:53 | 显示全部楼层
  6、调试模式不要勾选,生成.sim文件模式勾选。
744865ea6492d45b70.png
 楼主| piteqiu 发表于 2020-4-27 10:54 | 显示全部楼层
  7、将代码下到Flash中
772735ea6494346d5f.png
  为了便于拷贝:

    $PROJ_DIR$\lnkarm_flash.xcl

 楼主| piteqiu 发表于 2020-4-27 10:55 | 显示全部楼层
  8、IAR修改程序后不用J-FlashARM重新下载直接按Debug按钮就可自行下载,包含如下四个配置界面
664265ea64962055c7.png
为了便于拷贝:
    -Oraw-binary=.bin

    -Osimple-code=.sim

    -Ointel-extended=.hex



  如果没有default,按Edit

972185ea6497761a9f.png

  如果有default,按Edit看一下;如果没有default,按New,新建一个

448755ea64996d3bf6.png

  一定要选择All

527785ea649ad9dd98.png
 楼主| piteqiu 发表于 2020-4-27 10:56 | 显示全部楼层
  9、选择调试用具J-Link

546575ea649cd283dd.png

  至此,点击Compile和Make都没问题了
杨寅辉 发表于 2020-4-29 17:32 | 显示全部楼层
支持下,谢谢分享!
drer 发表于 2020-5-5 15:31 | 显示全部楼层
非常感谢楼主分享
gwsan 发表于 2020-5-5 15:31 | 显示全部楼层
步骤清晰明了啊
kxsi 发表于 2020-5-5 15:32 | 显示全部楼层
这个太基础了
nawu 发表于 2020-5-5 15:32 | 显示全部楼层
有些地方不是很明白为什么要这样配置
qcliu 发表于 2020-5-5 15:32 | 显示全部楼层
知其然而不知其所以然
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

292

帖子

0

粉丝
快速回复 返回顶部 返回列表