打印
[信息]

【转】STM32 IAR调试的详细步骤

[复制链接]
1426|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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.ewd、Project.ewp、Project和一个链接文件stm32f10x_flash.icf
8.然后双击Project工程打开。
9.按照下面的格式建立自己的工程,当然你也可以按照自己的格式。
10.User里面加入,main.c和stm32f10x_it.c两个.c文件。
11.新建一个DOC组,然后加入read me.txt文件。
12.加入学习板的配置不在这个文件里面,那么我们就要加入一个,选择Project—Edit Configuration—New—stm3210B-LK1(其他的不用管,不用另外设置)—OK就可以了。
13.然后就可以编译了,点击Project—Make(所有的源文件和相应的头文件及产生的目标文件进行比较,如果目标文件比你的任何一个头文件或者.c文件它的时间比较旧,也就是它产生的文件是在头文件后者.c文件之前的,那么Make就会对它进行从新编译。如果某一个文件它的产生文件的时间比头文件或者.c文件都新,那么它就不会再编译,帮我们节省时间)它的热键是F7,调试的时候经常按F7。这时候编译肯定会有很多错误,但是错误不可怕,有错误才有进步。呵呵!
14.拷贝库文件并且加入到项目中
检查什么错误:could not open source file“stm3210x.h”
下面是一大把的search....也就是编译器在找这个头文件的时候在这这些目录下面查找的。这时候的错误很好解决,我们只需要把它没有找到什么就复制到我们新建的工程里面,我这里是没有找到library,我只要复制固件库里面的library到新建的工程里面就可以。为什么要拷贝所有的library文件呢?因为这是一个相对路径的问题,这样可以方便移植到其他的地方,而不会出现错误。
15.下面修改错误,把那个编译的错误解决掉。对着project 工程右键—Options —C/C++Compiler—Processor中设定的,可以查看并且修改,点击OK就可以解决那个问题。
16.修改硬件相关的配置文件Utilities—STM32_EVAL硬件目录
  在刚才的固件库中找到Utilities—STM32_EVAL双击打开,拷贝stm32_eval.c和stm32_eval.h两个文件,然后放到工程文件夹中,这样可以修改。最后拷贝一个最接近自己的开发板的硬件文件,并且全部放在一个自己新建的文件夹中,这样方便以后使用,也可以修改它的名字,这样就会在拷贝的时候不会被旧的或者其它的覆盖。在工程目录下新建的一个和硬件有关的目录可以加入eval.c的文件。按照15步重新添加一个路径。
17.如果编译通过了,链接也有可能会报错。这时需要我们耐心检查。学习检查错误和修改错误。


沙发
mmuuss586| | 2016-9-7 09:01 | 只看该作者
谢谢分享;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

97

帖子

0

粉丝