新建一个IAR工程,并将ST32固件库移植到了该工程中,此时如果直接Compile,会出现找不到头文件的情况。这在情理之中,因为,我们没设置源文件的头文件的寻找路径。此外,我们也没指定芯片的类型。这些工作就是配置IAR的工程,这与IAR的版本密切相关(不同版本的配置界面都不一样,最经典的是IAR4.42A)。
预备知识
将代码下到单片机中有两种方法:
1.先生成.sim文件,然后再将该文件下载到单片机中(要更换IAR配置Linker->Output),每次更改代码都要重复上面两个步骤,才能将新代码下到单片机中。
2.用调试模式,将代码下到单片机的Flash或RAM中,经过配置IAR工程(一次就行),可以达到代码更改后,只需重新进入调试,即:点击IAR中的Debug按钮
推荐使用第二种。
配置工程
下面就以IAR4.42A为例,介绍一下配置工程的必须步骤:
1、板子控制芯片使用的是STM32F103VBT6,所以芯片型号选择STM32F10x系列,多一嘴,最新的M0芯片,要用IAR 6.4版本。
2、调试时最好将编译器选择不优化,否则有些运算(如位运算)会被优化掉,单步调试时可能会指示篡行。
3、单步调试时,若不勾选,跟踪不是C代码,而是汇编代码
为了便于拷贝:
$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等。
5、采用调试模式,还是生成.sim文件
6、调试模式不要勾选,生成.sim文件模式勾选。
7、将代码下到Flash中
为了便于拷贝:
$PROJ_DIR$\lnkarm_flash.xcl
8、IAR修改程序后不用J-FlashARM重新下载直接按Debug按钮就可自行下载,包含如下四个配置界面
-Oraw-binary=.bin
-Osimple-code=.sim
-Ointel-extended=.hex
如果没有default,按Edit
9、选择调试用具J-Link
至此,点击Compile和Make都没问题了。
备注
本文引用地址:http://www.eepw.com.cn/article/201611/317024.htm,适当进行了部分排版编辑。