STM32 IAR调试的详细步骤
?
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.如果编译通过了,链接也有可能会报错。这时需要我们耐心检查。学习检查错误和修改错误。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |