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

求助,为啥我的KEIL里不勾选microLib就会死机,选了就好了

[复制链接]
电小龙 提问时间:2019-11-4 22:44 /
我的工程里在keil设置界面,只要把微库勾选的去掉,则程序运行就会进入hardfault,选中就没事了,这是为什么呢?
收藏 1 评论14 发布时间:2019-11-4 22:44

举报

14个回答
aiherong 回答时间:2019-11-5 02:41:09
建议在startup_stm32f103_hd.s里查找一下,或换一个试试
jeffhe1 回答时间:2019-11-5 09:17:18
你有使用 printf  C 函式 的 東西嗎? 有的話 , 可能會 uart 定義不清 , 或寫法語句 出錯 , 造成 issue

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

myxiexing 回答时间:2019-11-5 09:41:39
可能程序使用到了printf之类的《stdio.h》中的内容,去掉这些再试试看下会会再出现这样的情况。
电小龙 回答时间:2019-11-5 09:55:59
aiherong 发表于 2019-11-5 02:41
建议在startup_stm32f103_hd.s里查找一下,或换一个试试

这个是要查写状态寄存器吧,现在还不会这样来分析、、、
电小龙 回答时间:2019-11-5 09:58:58
jeffhe1 发表于 2019-11-5 09:17
你有使用 printf  C 函式 的 東西嗎? 有的話 , 可能會 uart 定義不清 , 或寫法語句 出錯 , 造成 issue ...

检查了下,这里面没有用到printf,会跟segger的JLINK RTT里的打印的函数SEGGER_RTT_printf有关系吗?
电子星辰 回答时间:2019-11-5 10:36:55
你用了串口吗,可能是串口中断导致错误。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

电小龙 回答时间:2019-11-5 11:38:07
电子星辰 发表于 2019-11-5 10:36
你用了串口吗,可能是串口中断导致错误。

该如何避免,因为中断我们经常要用到的、、、
jeffhe1 回答时间:2019-11-5 13:14:47
电小龙 发表于 2019-11-5 09:58
检查了下,这里面没有用到printf,会跟segger的JLINK RTT里的打印的函数SEGGER_RTT_printf有关系吗? ...

能把這個函數 , 先 mark 掉嗎 ? 然後再測試看看
电小龙 回答时间:2019-11-5 15:39:46
jeffhe1 发表于 2019-11-5 13:14
能把這個函數 , 先 mark 掉嗎 ? 然後再測試看看

试过,没有用
电小龙 回答时间:2019-11-5 15:45:51
换了个f103的工程试了下,将微库不勾选,直接死在了启动文件里,如下图
未命名1572939520.png
wyxy163@126.com 回答时间:2019-11-5 19:52:49
提示: 作者被禁止或删除 内容自动屏蔽
butterflyspring 回答时间:2019-11-8 16:23:40
这里面有关于MicroLIB的介绍。一个官方的,一个翻译过来的。编译器需要按照这个适合嵌入式的c库去编译。
http://www.keil.com/arm/microlib.asp
http://blog.csdn.net/u014717398/article/details/55251859
yklstudent 回答时间:2019-11-14 13:52:38
多半是使用了微库里的内容
aiherong 回答时间:2019-11-25 03:49:33
电小龙 发表于 2019-11-5 09:55
这个是要查写状态寄存器吧,现在还不会这样来分析、、、

什么寄存器?
打开启始文件你会看到关于MICLIB宏定义的对栈的不同处理,可能与你死机有关

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版