本帖最后由 lmx8912-288991 于 2015-11-21 10:01 编辑 由于工作原因,这份帖子来晚了。。。。 看到大家的测评都是用KEIL的环境,所以另辟蹊径选择IAR(估计重复的东西大家也不喜欢)。 先晒下板 下面进入正题 一、工程模板的生成 1.打开stm32cubeMX 4.11.0->新建工程(New Project)->选择开发板(Board Selector)->NUCLEO-L476RG 2.进行管脚设置,时钟配置,资源配置,能量消耗计算(可不做,做了貌似也不准) (以上两点操作和KEIL的完全相同,大家应该都会,就不贴图了) 3.Project->setting...(或快捷键Alt+P),弹出 选择Code Generator 工程模板就生成成功了! 二、IAR环境搭建 1.打开上面填写生成模板的路径,在EWARM文件夹下,打开Project.eww 2.直接编译,提示错误 3.选择工程右击->Option... General Options->Device中选择ST STM32L476RG后OK 编译通过!!! 4.因为开发板带ST-LINK,所以可直接下载运行。但也须配置 选择工程右击->Option...->Debugger->Setup->Driver下拉选择ST-LINK 再选择ST-LINK,Reset选Normal,Interface选SWD,其他不变 下载正常使用!!! 至此,IAR开发环境搭建完成。 总结: 对IAR我也是个纯新手,搭建环境期间也出了不少问题。最早用的IAR是7.2版本,软件并不支持L476,试了些弥补的方法都没成功。主要IAR不像新版的KEIL 5 那样,缺的Driver可以下载后挂载到软件上。后面下载了7.4版本的IAR才解决。希望IAR也能出直接挂载Driver的软件,这样使用就会更简单方便。 |
之前也没认真注意过这个问题,刚刚特地去试了下,直接上图了(这里以IAR为例,Keil应该雷同)
有勾 没勾
上面两个工程都是实现LED闪烁的,且功能都正常。
勾了以后,外设的代码以单独的文件“XXX.c/XXX.h”呈现,此时的main.c文件只有6kb。
没勾,则外设的代码是放在main.c文件中,此时的main.c文件有9kb(经比较,就是多了GPIO的void MX_GPIO_Init(void)函数)
你上传的压缩包我试了下,确实编译时会出现上面提到的错误!我尝试重新生成工程(即运行ioc文件),发现在生成代码时会出错啊!(不知道在你的电脑上是否也有这个问题)
而且应该就是你后面编译出错的原因所在吧(你后面编译时就是库文件出问题了)!
具体怎么解决我也不知道(百度了下,可能你生成的工程路径有中文,你可以试下)!
发一个我生成的你试下吧!实在不行,可以用我的模板!
你是用stm32cubemx生成的工程吗?正常应该不会出这个问题的!我觉得你先要查下工程文件夹下是否有这个stm32l4xx.h文件。有,在option->C/C++ Compiler ->Preprocessor里看下是否有此文件所在的路径;没有,那你需要拷贝这个文件到相应路径!
因为看不到实际工程,所以只能以常见的问题猜测解决方法。
从字面就可以理解:生成的外设初始化文件是‘.c/.h’成对出现的
所以应该是在英文的理解上有出入(PS:英语有点差。。。)
多谢提醒!
今天用7.4版的IAR做测试时,确实也没发现需要选择芯片型号的问题(我也是习惯直接根据板子生成的,这样可以不用配置管脚)。
经分析,之前上面会出现选择芯片型号问题,应该是因为当时我装的是7.2版本的IAR,软件找不到L476芯片的缘故,所以直接没有选择芯片
互相学习,共同进步