你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F0标准库中缺失core_cm0.0

[复制链接]
khadgar 提问时间:2015-3-17 10:35 /
悬赏8ST金币已解决
从论坛的资料区下载了STM32F0xx_StdPeriph_Lib_V1.5.0的固件库。新建工程的时候发现找不到core_cm0.c的文件,只在STM32F0xx_StdPeriph_Lib_V1.5.0\Libraries\CMSIS\Device\ST\STM32F0xx\Include目录下找到了core_cm0.h的头文件。
是STM32F0系列不需要core_cm0.c文件了吗,还是ST的工程师忘记添加了。

最佳答案

查看完整内容

没有.C文件,只有头文件,编译一下 就 ok了,和10x的不同,开始我也迷糊过
收藏 评论17 发布时间:2015-3-17 10:35

举报

17个回答
wamcncn 回答时间:2015-3-17 10:35:01
本帖最后由 wambob 于 2015-3-17 11:23 编辑
卡德加 发表于 2015-3-17 11:16
头文件是有的,C文件不是必须的吗


没有.C文件,只有头文件,编译一下 就 ok了,和10x的不同,开始我也迷糊过
foxglove 回答时间:2015-3-17 10:45:08
发了这么多?
khadgar 回答时间:2015-3-17 10:47:49

能解决问题都不算多
wamcncn 回答时间:2015-3-17 11:02:08
添加路径吧,在keil下面的ARM
wamcncn 回答时间:2015-3-17 11:03:11
本帖最后由 wambob 于 2015-3-17 11:09 编辑

DD.JPG D:\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include
也可以把缺少的文件拷贝到你的 工程下
Mandelbrot_Set 回答时间:2015-3-17 11:07:47
自己在工程里新建一个,把原版内容复制进去.这个.c也确实不是必须要有的.
khadgar 回答时间:2015-3-17 11:15:27
wambob 发表于 2015-3-17 11:03
D:\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include
也可以把缺少的文件拷贝到你的 工程下
...

可是这个目录下面也是只有头文件啊,没有C文件,和库给的一样
截图.PNG
khadgar 回答时间:2015-3-17 11:16:42
wambob 发表于 2015-3-17 11:03
D:\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include
也可以把缺少的文件拷贝到你的 工程下
...

头文件是有的,C文件不是必须的吗
khadgar 回答时间:2015-3-17 11:18:17
Mandelbrot_Set 发表于 2015-3-17 11:07
自己在工程里新建一个,把原版内容复制进去.这个.c也确实不是必须要有的.

core_cm0.h我已经添加到工程里了,core_cm0.c没找到。只添加一个头文件就可以了?
Mandelbrot_Set 回答时间:2015-3-17 11:34:15
.c肯定是有的(原始版本在哪就不知道了) ,基本内容就是.h里 extern函数申明的实现
khadgar 回答时间:2015-3-17 12:01:23
谢谢大家的帮助!!!
下载了一个原子的STM32F051的例程,里面没有添加core_m0.c文件,编译也是通过了。可能F0系列不需要这个文件吧
khadgar 回答时间:2015-3-17 12:01:57
wambob 发表于 2015-3-17 11:22
没有.C文件,只有头文件,编译一下 就 ok了,和10x的不同,开始我也迷糊过 ...

下载了一个原子的STM32F051的例程,里面没有添加core_m0.c文件
moyanming2013 回答时间:2015-3-17 15:50:41
STM32F0xx_StdPeriph_Lib_V1.5.0程序包ST不再更新了,请下载STM32CubeF0:
http://www.st.com/web/en/catalog/tools/PF260612
解压后在..\Drivers\CMSIS\Include里面会有core_cm0.h的头文件。
不需要对应的.c文件,core_cm0.h声明了一些M0相关的寄存器,必要的预定义,比如inline,还有定义的函数,比如:
__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
{
  if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */

  SysTick->LOAD  = ticks - 1;                                  /* set reload register */
  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */
  SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */
  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
                   SysTick_CTRL_TICKINT_Msk   |
                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */
  return (0);                                                  /* Function successful */
}
khadgar 回答时间:2015-3-17 16:06:04
moyanming2013 发表于 2015-3-17 15:50
STM32F0xx_StdPeriph_Lib_V1.5.0程序包ST不再更新了,请下载STM32CubeF0:
http://www.st.com/web/en/catal ...

谢谢!在下cube了,速度太慢还没下完。
就是说zhi要有.h就行了吧,.c可有可无。
12下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版