This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

请问core_cm3.c文件对于stm32f103来说是不是多余的?

我是一名stm32初学者。购买了一个开发板并附带了视频教学。在新建一个stm32工程中,视频里要求将一系列的文件添加到工程并选择好path。其中有一个叫core_cm3.c的文件,我有一次忘记添加了,但编译居然没有出错而且程序能运行。后来我又试了一下把core_cm3.c删除了,但keil依旧没有报错。stm32说明书里讲到core_cm3.c这个文件对stm32是很重要的,那我想知道问什么不添加core_cm3.c不会报错?而且stm32f10x.h文件里面#include<core_cm3.c>的,也就是core_cm3的.h文件是用到的(我试过删除core_cm3.h之后编译会出错)。有人告诉我只是我程序没用到core_cm3.c里面的一些功能,但我程序里面有#include<core_cm3.h>,难道说有core_cm3.h但不需要core_cm3.c吗?

这是怎么回事呢?请知道我朋友告诉我一下,谢谢你们

Parents
  • jonny 你好

       下面是我对这个问题的一些理解。希望能解答你的疑惑。

       Core_cm3.c里有一些汇编关键字的宏定义,支持不同的编译器,还提供了访问内核寄存器的函数。在CMSIS升级到2.0版本时CMSIS的软件结构做了一些调整,去掉了core_cm3.cST的固件库也相应做了修改。在新的版本里只需要包含core_cm3.h,core_cmFunc.h,core_cmInstr.h,不需要core_cm3.c文件了。

Reply
  • jonny 你好

       下面是我对这个问题的一些理解。希望能解答你的疑惑。

       Core_cm3.c里有一些汇编关键字的宏定义,支持不同的编译器,还提供了访问内核寄存器的函数。在CMSIS升级到2.0版本时CMSIS的软件结构做了一些调整,去掉了core_cm3.cST的固件库也相应做了修改。在新的版本里只需要包含core_cm3.h,core_cmFunc.h,core_cmInstr.h,不需要core_cm3.c文件了。

Children