OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3413|回复: 11

建立基于库函数的工程模板,出现以下错误

[复制链接]

8

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2018-5-7
在线时间
51 小时
发表于 2018-5-7 19:52:26 | 显示全部楼层 |阅读模式
1金钱
Rebuild target '跑马灯'
compiling main.c...
compiling stm32f10x_it.c...
compiling system_stm32f10x.c...
compiling core_cm3.c...
assembling startup_stm32f10x_hd.s...
compiling misc.c...
compiling stm32f10x_adc.c...
compiling stm32f10x_bkp.c...
compiling stm32f10x_can.c...
compiling stm32f10x_cec.c...
compiling stm32f10x_crc.c...
compiling stm32f10x_dac.c...
compiling stm32f10x_dbgmcu.c...
compiling stm32f10x_dma.c...
compiling stm32f10x_exti.c...
compiling stm32f10x_flash.c...
compiling stm32f10x_fsmc.c...
compiling stm32f10x_gpio.c...
compiling stm32f10x_i2c.c...
compiling stm32f10x_iwdg.c...
compiling stm32f10x_pwr.c...
compiling stm32f10x_rcc.c...
compiling stm32f10x_rtc.c...
compiling stm32f10x_sdio.c...
compiling stm32f10x_spi.c...
compiling stm32f10x_tim.c...
compiling stm32f10x_usart.c...
compiling stm32f10x_wwdg.c...
linking...
..\OBJ\跑马灯.axf: error: L6002U: Could not open file ..\obj\core_cm3.o: No such file or directory
Finished: 0 information, 0 warning, 0 error and 1 fatal error messages.
"..\OBJ\跑马灯.axf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:13

希望大神能够帮忙解答,谢谢!

最佳答案

查看完整内容[请看2#楼]

电脑的用户名不能是中文
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2018-5-7
在线时间
51 小时
 楼主| 发表于 2018-5-7 19:52:27 | 显示全部楼层
电脑的用户名不能是中文
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-5-8 01:29:52 | 显示全部楼层
别用中文名字命名工程。
回复

使用道具 举报

8

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2018-5-7
在线时间
51 小时
 楼主| 发表于 2018-5-8 19:55:06 | 显示全部楼层
正点原子 发表于 2018-5-8 01:29
别用中文名字命名工程。

Rebuild target 'Template'
compiling main.c...
compiling stm32f10x_it.c...
compiling system_stm32f10x.c...
compiling core_cm3.c...
assembling startup_stm32f10x_hd.s...
compiling misc.c...
compiling stm32f10x_adc.c...
compiling stm32f10x_bkp.c...
compiling stm32f10x_can.c...
compiling stm32f10x_cec.c...
compiling stm32f10x_crc.c...
compiling stm32f10x_dac.c...
compiling stm32f10x_dbgmcu.c...
compiling stm32f10x_dma.c...
compiling stm32f10x_exti.c...
compiling stm32f10x_flash.c...
compiling stm32f10x_fsmc.c...
compiling stm32f10x_gpio.c...
compiling stm32f10x_i2c.c...
compiling stm32f10x_iwdg.c...
compiling stm32f10x_pwr.c...
compiling stm32f10x_rcc.c...
compiling stm32f10x_rtc.c...
compiling stm32f10x_sdio.c...
compiling stm32f10x_spi.c...
compiling stm32f10x_tim.c...
compiling stm32f10x_usart.c...
compiling stm32f10x_wwdg.c...
linking...
..\OBJ\Template.axf: error: L6002U: Could not open file ..\obj\core_cm3.o: No such file or directory
Finished: 0 information, 0 warning, 0 error and 1 fatal error messages.
"..\OBJ\Template.axf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:13

按照视频,名字也改成英文,依然和上面一样错误
回复

使用道具 举报

12

主题

129

帖子

0

精华

高级会员

Rank: 4

积分
955
金钱
955
注册时间
2018-4-5
在线时间
72 小时
发表于 2018-5-8 20:18:17 | 显示全部楼层
确定文件没加错吗?
保守秘密,守望共济,等价交换,尊重知识,探求真知。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-5-9 01:12:47 | 显示全部楼层
间客 发表于 2018-5-8 19:55
Rebuild target 'Template'
compiling main.c...
compiling stm32f10x_it.c...

在你的工程目录查找:core_cm3.c,有这个文件么?
另外编译我们的例程,报这个错误么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2018-5-7
在线时间
51 小时
 楼主| 发表于 2018-5-9 12:15:10 | 显示全部楼层
正点原子 发表于 2018-5-9 01:12
在你的工程目录查找:core_cm3.c,有这个文件么?
另外编译我们的例程,报这个错误么?

工程目录里面有core_cm3.c这个文件
Rebuild target 'Template'
compiling main.c...
compiling stm32f10x_it.c...
compiling system_stm32f10x.c...
compiling delay.c...
compiling sys.c...
compiling usart.c...
compiling core_cm3.c...
assembling startup_stm32f10x_hd.s...
compiling misc.c...
compiling stm32f10x_adc.c...
compiling stm32f10x_bkp.c...
compiling stm32f10x_can.c...
compiling stm32f10x_cec.c...
compiling stm32f10x_crc.c...
compiling stm32f10x_dac.c...
compiling stm32f10x_dbgmcu.c...
compiling stm32f10x_dma.c...
compiling stm32f10x_exti.c...
compiling stm32f10x_flash.c...
compiling stm32f10x_fsmc.c...
compiling stm32f10x_gpio.c...
compiling stm32f10x_i2c.c...
compiling stm32f10x_iwdg.c...
compiling stm32f10x_pwr.c...
compiling stm32f10x_rcc.c...
compiling stm32f10x_rtc.c...
compiling stm32f10x_sdio.c...
compiling stm32f10x_spi.c...
compiling stm32f10x_tim.c...
compiling stm32f10x_usart.c...
compiling stm32f10x_wwdg.c...
linking.....
..\OBJ\Template.axf: error: L6002U: Could not open file ..\obj\sys.o: No such file or directory
Finished: 0 information, 0 warning, 0 error and 1 fatal error messages.
"..\OBJ\Template.axf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:16


编译你们的例程,会出现另一个错误..\OBJ\Template.axf: error: L6002U: Could not open file ..\obj\sys.o: No such file or directory

会不会是CMSIS出错了

查自百度:

一、STM32, MDK升级5.0后,编译出现问题,本人用的是win8.1,开始因为一直需要联机而不得不停止工作,后来用管理员身份运行MDK,问题的到解决,但后续编译又出现如下问题error: L6002U: Could not open file ..\output\core_cm3.o: No such file or directory", 没有产生core_cm3.o 。一时间在网上也没有找到好的解决方案,后来就索性把core_cm3.c从工程中移除,编译通过了,但是不知道会不会出现其他未知问题。最后发现是CMSIS1.x和CMSIS2.x不兼容的问题,解决方案是从ARM 官网下载最新的CMSIS文件,取而代之。

STM32从3.0库开始引入了CMSIS,CMSIS是Cortex微控制器软件接口标准(Cortex MicroController Software Interface Standard)的缩写,这个是ARM定制的一个用于Cortex-M系列的一个标准,主要是为了提供通用api接口来访问内核和一些片上外设,提高代码的可移植性。

CMSIS有三个层:核内外设访问层Core Peripheral Access Layer(CPAL),中间件访问层Middleware Access Layer(MWAL),设备访问层(Device Peripheral Access Layer)。

CPAL用于访问内核的寄存器和组件,如NVIC,调试系统等。该层是由ARM实现的。

MWAL用于对中间件的访问,现在该层还未实现。(也不知道所谓的中间件是什么东西)。

DPAL用于定义一些硬件寄存器的地址和一些外设访问函数,由芯片制造商实现。

CPAL层的实现就是Core_cm3.c文件,DPAL层的实现就是system_stm32f10x.c文件(似乎还应该加上外设的函数库)。

接下来就来了解一下Core_cm3.c里面有什么东东:

首先是汇编关键字__ASM和__INLINE的宏定义,支持不同的编译器。由于使用的是Keil,所以就只看第一种,__CC_ARM。

这里面的函数调用都只符合ARM过程调用标准的,如R0到R3用作参数和返回值传递,这也是这里面唯一用到的。

此外,在Keil中使用了__asm关键字后,编译器不会为函数增加返回指令,所以需要自己编写返回命令,也就是每个函数后面的  bx lr。

1.     __ASM uint32_t __get_PSP(void):获取进程堆栈指针PSP。

2.     __ASM void __set_PSP(uint32_t topOfProcStack):设置PSP。

3.     __ASM uint32_t __get_MSP(void):获取主堆栈指针MSP。

4.     __ASM void __set_MSP(uint32_t mainStackPointer):设置MSP。

5.     __ASM uint32_t __REV16(uint16_t value):反转半字中字节顺序,如0xABCD反转后得到0xCDAB。

6.     __ASM int32_t __REVSH(int16_t value):反转字节顺序,并做符号拓展。就是在__REV16函数得到的结果上再进行一次符号拓展。这两个函数主要是方便进行大小端的切换。

7.     __ASM void __CLREX(void):清除由LDREX指令造成的互斥锁。LDREX和STREX是Cortex用来实现互斥访问,保护临界资源的指令,LDREX执行后,只有离它最近的一条存储指令(STR,STREX)才能执行,其他的存储指令都会被驳回,而CLREX就是用于清除互斥访问状态的标记。

8.     __ASM uint32_t  __get_BASEPRI(void):获取BASEPRI寄存器的值,优先级号高于该寄存器的中断都会被屏蔽(优先级号越大,优先级越低),为零时不屏蔽任何中断。

9.     __ASM void __set_BASEPRI(uint32_t basePri):设置BASEPRI的值。

10.  __ASM uint32_t __get_PRIMASK(void):PRIMASK是一个只有一位的寄存器,置位时屏蔽绝大部分的异常中断,只剩下NMI和HardFault可以响应。

11.  __ASM void __set_PRIMASK(uint32_t priMask):设置PRIMASK的值。

12.  __ASM uint32_t  __get_FAULTMASK(void):FAULTMASK也是一个只有一位的寄存器,为1时只有NMI才能响应,其他异常与中断全部被屏蔽。

13.  __ASM void __set_FAULTMASK(uint32_t faultMask):设置FAULTMASK的值。

14.  __ASM uint32_t __get_CONTROL(void):获取CONTROL的值。寄存器CONTROL只有两位。CONTROL[0]选择特权级别,0为特权级,1为敌用户级。CONTROL[1]用于选择堆栈指针,0为MSP,1为PSP。

15.  __ASM void __set_CONTROL(uint32_t control):设置CONTROL寄存器的值。

BASEPRI,PRIMASK,FAULTMASK,CONTROL都只能在特权模式下被修改。


IMG_20180509_115124.jpg
回复

使用道具 举报

8

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2018-5-7
在线时间
51 小时
 楼主| 发表于 2018-5-9 12:16:52 | 显示全部楼层
TheHellc 发表于 2018-5-8 20:18
确定文件没加错吗?

没有,每一步都是按照视频来的
回复

使用道具 举报

8

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2018-5-7
在线时间
51 小时
 楼主| 发表于 2018-5-9 12:53:24 | 显示全部楼层
正点原子 发表于 2018-5-9 01:12
在你的工程目录查找:core_cm3.c,有这个文件么?
另外编译我们的例程,报这个错误么?

这是我建的工程模板,麻烦看一下哪里出错了

Template.zip

5.09 MB, 下载次数: 49

回复

使用道具 举报

0

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
444
金钱
444
注册时间
2017-11-10
在线时间
85 小时
发表于 2018-5-9 13:48:05 | 显示全部楼层
间客 发表于 2018-5-9 12:53
这是我建的工程模板,麻烦看一下哪里出错了

我编译,没有错
回复

使用道具 举报

8

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2018-5-7
在线时间
51 小时
 楼主| 发表于 2018-5-9 15:11:34 | 显示全部楼层

是用我的程序吗
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-5-10 01:34:59 | 显示全部楼层
我直接编译你的例程,没报错。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 05:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表