不知道为嘛!你的图不能放大!我只能按照你的描述讲了!
我认为应该是你内衣定义必要的宏!因为整一个库适用于同一系列不同型号的MCU,因为各种型号的MCU的资源不同,所以你需要定义宏来进行区分!好像在keil中不针对型号检测设备资源和代码,但是IAR是需要的!如下图为在keil中定义的宏,这里是F103系列:
[attach]34605[/attach]
就是如上图的宏了!具体的你可以参考stm32f10x_conf.h 文件!所以,基于这个道理,在IAR中,当你选择了型号之后,还是不够的,还需要添加选择宏,如下图:
[attach]34606[/attach]
如上图我框出来了!我这是STM8的,但是道理是一样的!你定义正确的宏就好!还有就是,在IAR中,你添加驱动文件的时候,因为IAR会检测MCU资源,所以比如你的MCU不存在的资源,比如说你所用的MCU没有CAN资源,但是你却添加了CAN驱动文件,这是编译不通过的!将它干掉就好。
[attach]34607[/attach]
修改成了这样,到时警告没有了,错误依然在
好的来了
问题已经给你解决了!
1.就你的工程,请你将你的CMSIS文件夹下的core_cm3.h文件和core_cm3.c文件删除,并且在你的工程中也要把core_cm3.h文件和core_cm3.c进行Remove!
2.在Project options > General Options > Library Configuration 里选择 USE CMSIS ;[attach]34610[/attach]
这样就可以通过了!
你报错的原因是core_cm3.h文件和core_cm3.c文件与IAR的格式不兼容造成的
欢迎光临 烽火社区 (http://bbs.cnecport.com/) | Powered by Discuz! X3.2 |