查看: 1160|回复: 0

STM32 出现 hard fault 的一种原因

[复制链接]
  • TA的每日心情
    无聊
    2016-12-23 14:05
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2016-12-20 11:53:56 | 显示全部楼层 |阅读模式
    分享到:
    STM32 的程序在 使用memcpy函数的时候
    void *memcpy(void *dest, const void *src, size_t n);

    如果 长度n 的大小超过 dest的空间大小,会出现hard fault ,原因就是溢出数据把重要的数据给覆盖了。

    遇到此种问题,一般用IAR的查看 memory 功能比较容易发现查找。

    不过不同单片机对此问题的处理方式不一样。
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 02:40 , Processed in 0.103360 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.