22062|4

81

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

MDK中STM32调试出现assert_param()函数未定义错误(用3.0的库) [复制链接]

在MDK3.50中调试3.0库所带的例程,在链接过程中出现assert_param函数未定义的错误:Error: L6218E: Undefined symbol assert_param (referred from misc.o),无论将stm32f10x_conf.h头文件中的“ #define USE_FULL_ASSERT 1”打开还是关闭都出现assert_param函数未定义的错误。无奈将 #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))改为:
void assert_param(expr)
{ ((void)0);}
链接不出错,但是还有很多assert_param函数定义重复的警告。
此帖出自stm32/stm8论坛

最新回复

                                 我升级到MDK 4.14后又开始出问题了,提示好多东西都被重定义了,发现是和KEIL安装目录中的一些内容重复定义了。 于是又将USE_STDPERIPH_DRIVER去掉,这时不再出现重定义的错误,但assert_param未定义的错误又出现了。  详情 回复 发表于 2011-1-24 22:00
点赞 关注
 

回复
举报

55

帖子

0

TA的资源

一粒金砂(初级)

推荐
 
                                 在Options->C/C++->preprocessor Symboles有Define:项中输入USE_STDPERIPH_DRIVER,重新编译链接,无警告无错误。
此帖出自stm32/stm8论坛
 
 

回复

121

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
                                 直接在相应的.h文件中define也是可以的
此帖出自stm32/stm8论坛
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

推荐
 
                                 此方法确实有效,感谢二楼!
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
我升级到MDK 4.14后又开始出问题了,提示好多东西都被重定义了,发现是和KEIL安装目录中的一些内容重复定义了。

于是又将USE_STDPERIPH_DRIVER去掉,这时不再出现重定义的错误,但assert_param未定义的错误又出现了。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表