STM32开发从keil5转iar遇到的问题

  之前一直使用keil来开发STM32,最近到了新公司要求用iar来开发,在转的时候遇到了一些问题,下面总结一下。

  1.启动文件的问题。keil5的启动文件和iar的启动文件是不一样的,从keil移植过来的一定要注意这个问题。

  2.core_cm3.h文件问题。由于iar自带了该文件,所以keil5中需要将core_cm3.h文件删除或改成其他名字,iar中的需要更改的地方如图1,在Options->General options->Library Configration的CMSIS下勾选UseCMSIS。注意Library下选择Full是使用微库。

STM32开发从keil5转iar遇到的问题_第1张图片

                                                                                 图1

  3.ROM/RAM起始地址问题。keil5在Option中直接填入,如下图2。iar如图3所示,在Options->Linker->Config下勾选Override default(如果不勾选,默认就是芯片的正常地址)选择分散加载文件的路劲,然后点击Edite...进行编辑。注意:Vector table是中断向量表偏移地址,注意和起始rom地址一致。

STM32开发从keil5转iar遇到的问题_第2张图片

                                                                                  图2

STM32开发从keil5转iar遇到的问题_第3张图片

                                                                                  图3

4.输出hex文件。iar输入hex文件如图4。Options->Output Converter->Output下勾选Generate additional output,在Output format下拉中选择Intel extended。同理输出bin也是在这里选择。

STM32开发从keil5转iar遇到的问题_第4张图片

                                                                                 图4

5.iar的.h文件路径和预处理宏,在Option->C/C++ Complier->Additonal include directorier和Define Symbols。图5的Additional中填入的路劲是绝对路径,如果工程考到别的地方再次编译会报错,可在Edit Include directory 中的路径后面的倒三角中选择带$PROJ_DIR$的,表示选择工程内的路径。

STM32开发从keil5转iar遇到的问题_第5张图片

                                                                               图5

STM32开发从keil5转iar遇到的问题_第6张图片

                                                                               图6

6.iar输出编译后的代码/数据占用的内存大小。在tool->option->Messages下的show build message中选择all.

STM32开发从keil5转iar遇到的问题_第7张图片

                                                                                            图7

你可能感兴趣的:(stm32)