STM32 IAR调试的详细步骤

来源:互联网 发布:安卓机顶盒修改mac 编辑:程序博客网 时间:2024/04/29 14:12
 1.熟悉开发板上的器件分布

2.下载STM32固件库文件

3.拷贝一个例程并且新建一个新的项目STM3210B_LK1_Project作为文件夹的名字

4.下面是以一个很简答的例子作为入门

5.拷贝GPIO目录下的一个IOToggle,粘贴到刚刚新建的文件夹中

6.因为使用了IAR的工具软件,在拷贝文件之前,先打开read me 文档看看,需要拷贝什么文件, project .ewd/.eww/.ewp必须拷贝,stm32f10x_flash.icf为链接文件:程序代码放在链接完之后放到内部的flash中,数据放到内部的SRAM,其中数据包括,可读可写,堆和栈。

stm32f10x_flash_extsram.icf链接文件:程序的代码放到内部的flash中,数据放到外部的SRAM中。

stm32f10x_nor.icf链接文件:程序的代码放到片外的NOR flash中,数据放到片内的SRAM

stm32f10x_ram.icf链接文件:程序代码和数据都放到内部的SRAM

一般情况下,我们是把程序放到内部的flash中,数据放到内部的SRAM中。所以拷贝第一个stm32f10x_flash.icf链接文件。

7.拷贝Project.ewdProject.ewpProject和一个链接文件stm32f10x_flash.icf

8.然后双击Project工程打开。

9.按照下面的格式建立自己的工程,当然你也可以按照自己的格式。

10.User里面加入,main.cstm32f10x_it.c两个.c文件。

11.新建一个DOC组,然后加入read me.txt文件。

12.加入学习板的配置不在这个文件里面,那么我们就要加入一个,选择ProjectEdit ConfigurationNewstm3210B-LK1(其他的不用管,不用另外设置)OK就可以了。

13.然后就可以编译了,点击ProjectMake(所有的源文件和相应的头文件及产生的目标文件进行比较,如果目标文件比你的任何一个头文件或者.c文件它的时间比较旧,也就是它产生的文件是在头文件后者.c文件之前的,那么Make就会对它进行从新编译。如果某一个文件它的产生文件的时间比头文件或者.c文件都新,那么它就不会再编译,帮我们节省时间)它的热键是F7,调试的时候经常按F7。这时候编译肯定会有很多错误,但是错误不可怕,有错误才有进步。呵呵!

14.拷贝库文件并且加入到项目中

检查什么错误:could not open source filestm3210x.h

下面是一大把的search....也就是编译器在找这个头文件的时候在这这些目录下面查找的。这时候的错误很好解决,我们只需要把它没有找到什么就复制到我们新建的工程里面,我这里是没有找到library,我只要复制固件库里面的library到新建的工程里面就可以。为什么要拷贝所有的library文件呢?因为这是一个相对路径的问题,这样可以方便移植到其他的地方,而不会出现错误。

15.下面修改错误,把那个编译的错误解决掉。对着project 工程右键—Options C/C++CompilerProcessor中设定的,可以查看并且修改,点击OK就可以解决那个问题。

16.修改硬件相关的配置文件UtilitiesSTM32_EVAL硬件目录

  在刚才的固件库中找到UtilitiesSTM32_EVAL双击打开,拷贝stm32_eval.cstm32_eval.h两个文件,然后放到工程文件夹中,这样可以修改。最后拷贝一个最接近自己的开发板的硬件文件,并且全部放在一个自己新建的文件夹中,这样方便以后使用,也可以修改它的名字,这样就会在拷贝的时候不会被旧的或者其它的覆盖。在工程目录下新建的一个和硬件有关的目录可以加入eval.c的文件。按照15步重新添加一个路径。

17.如果编译通过了,链接也有可能会报错。这时需要我们耐心检查。学习检查错误和修改错误。大笑

原创粉丝点击