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

STM32CubeF1 疑问, 编译错误

[复制链接]
Jumper 提问时间:2015-5-29 14:14 /
大家好,  关于STM32CubeF1,  生成的MDK-ARM工程, 编译的时候发现有错误:

..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c(138): error:  #1113: Inline assembler not permitted when generating Thumb code

看了一下是是使用了__asm,  用一般的办法, 修改为

#if 0
__NOINLINE
static void PWR_OverloadWfe(void)
{
  __asm volatile( "wfe" );
  __asm volatile( "nop" );
}
#else
__NOINLINE __asm
static void PWR_OverloadWfe(void)
{
    wfe
    nop
}
#endif

则可以正常编译,  同时发现, 这个stm32f1xx_hal_pwr.c在一般的工程中, 也没有被引用, 直接删掉也可以编译通过

我想请问各位高人, 你们有遇到这样的问题吗? 是否有办法在CubeMX软件中设置生成的工程不包含这个文件?

请不吝赐教.

谢谢.


收藏 评论8 发布时间:2015-5-29 14:14

举报

8个回答
废鱼 回答时间:2015-5-29 14:34:41
暂时没有找到选择库选项,如果没有用到PWR的功能,删除也不会报错的。
Tension 回答时间:2015-5-29 15:18:41
测试编译没有报错。
moyanming2013 回答时间:2015-5-29 15:26:07
编译器给出的错误不是非常明显吗:
error:  #1113: Inline assembler not permitted when generating Thumb code
你想编译出Thumb代码时不能使用inline汇编代码!
Cortex-M全是Thumb指令集,当你嵌入汇编代码时,不应使用inline!
露兰芬芳加油 回答时间:2015-5-29 16:13:22
测试一下错误
Jumper 回答时间:2015-5-29 17:21:39
moyanming2013 发表于 2015-5-29 15:26
编译器给出的错误不是非常明显吗:
error:  #1113: Inline assembler not permitted when generating Thumb ...

编译器的错误确实很明显, 修改也很简单, 只是, 对于CubeMX这样的工具, 自动生成的代码会有编译错误, 不太合理, 所以, 我想知道是我的环境的问题, 还是别人也有这样的问题.  

也许是我的Keil的问题?  看到也有高人说编译没有错的... 不解...
Jumper 回答时间:2015-5-29 19:18:45
Jumper 发表于 2015-5-29 17:21
编译器的错误确实很明显, 修改也很简单, 只是, 对于CubeMX这样的工具, 自动生成的代码会有编译错误, 不太 ...

果然是环境问题, Kei 是4.5的版本, 更新到4.72, 就正常了...

谢谢大家提供信息.
为什么是EEFOCUS小白 回答时间:2015-5-31 09:40:01
是版本低了,之前有人发过的
tjl98 回答时间:2015-9-30 21:19:17
我用MDK4.23也有这问题,升级到4.72后把调试器搞得不能用了,用了2个STlinkV2都是这样,显示无调试器,不知如何是好?

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版