0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

变量位置不同会死机?郭天祥老师视频的遗留问题分析答案

聚沃科技 2024-02-26 09:12 次阅读
wKgaomXb5PyAJi8cAAr3J2Otupw085.png

wKgZomXb5QKAECMPAAkQGcyy6b4811.png

在郭天祥老师视频里有一个问题分享,是EXMC初始化里的一个变量定义和初始化位置不同会导致程序死机,最终定位到程序是进入hardfault死机,但暂时没有后续分析了,这里我们来继续分析一下。

死机的程序是这样的:

wKgZomXb5QiAO5QpAABAwKR0WCs524.png

这段代码是定义和初始化exmc的结构体参数,我们来详细看下结构体中的定义,其中有一个关键是这里有两个指针成员,分别是读和写的结构体参数指针。

wKgZomXb5Q2AeC0OAABR9iP3hUk323.png

那我们看下结构体成员初始化函数,其中除了对成员变量赋值了默认参数外,还对读写时序参数结构体指针的成员也赋值了默认参数:

wKgaomXb5ROAOfffAABluphjhp0417.png

所以这里就是重点,此时这个结构体刚定义完成,因为是局部变量是定义在栈里的,所以初值都是随机值,这个随机值实际可以解释为栈空间上次释放的局部变量值。

当对一个随机值的指针进行赋值会发生什么?三个结果:

1、随机值是非法地址,立刻触发hardfault;

2、随机值是程序实际RAM地址范围外的可写地址,意外操作了寄存器或者无效地址,一次无效操作或开启意外功能;

3、随机值是程序已使用的RAM地址,破坏了这段内存,程序不会立刻触发hardfault,会在CPU使用到该区域时才出现异常。

那我们应该如何调用这个EXMC的结构体初始化呢?其实这里有定义三个结构图,另外两个就是读写的时序结构体的实体,我们定义后先将这两个结构体变量赋值到exmc模式结构体成员的两个指针,此时指针才有了正确地址,调用结构图初始化后就可以把这两个结构体一起完成初始化。

wKgZomXb5RiAH0HrAAATjr3T7fk244.png

这里的分析很考验大家C语音指针、CPU内存的理解功底,还有什么疑难杂症欢迎大家提供素材。上面分析的正确初始化顺序在红枫派开发板例程中应用,欢迎大家应用到项目中使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44486

    浏览量

    631836
  • 嵌入式
    +关注

    关注

    5057

    文章

    18964

    浏览量

    301810
  • GD32
    +关注

    关注

    7

    文章

    403

    浏览量

    24099
  • EXMC
    +关注

    关注

    0

    文章

    7

    浏览量

    5182
收藏 人收藏

    评论

    相关推荐

    天祥老师视频资料

    天祥《十天学会单片机》视频的源程序和相关资料
    发表于 11-10 09:50

    我有天祥老师的ARM视频

    本帖最后由 eehome 于 2013-1-5 09:46 编辑 我有天祥老师的ARM9整套教程,可是我上传附件的大小仅为10mb,那套视频就已经3g多了,我如何上传呢?
    发表于 11-17 21:27

    谁要天祥视频课件资料

    谁要天祥视频课件资料
    发表于 02-22 16:44

    谁有天祥老师arm9完整视频以及辅助资料?

    谁有天祥老师arm9完整视频以及辅助资料的好心人动动手指发给俺一份不胜感激522066863@qq.com
    发表于 05-24 10:55

    天祥Altium Designe视频

    `天祥Altium Designe视频如图:网盘下载地址在附件里面,论坛不给我直接放网址`
    发表于 06-14 15:28

    天祥Altium Designe视频

    `天祥Altium Designe视频如图:网盘下载地址在附件里面,论坛不给我直接放网址`
    发表于 06-14 15:35

    天祥 十天学通单片机课后答案

    这是天祥老师的十天学会单片机的课后答案,分享给在学单片机的兄弟姐妹,另外我还有视频,但太大传不上来,想要的可以留下邮箱
    发表于 08-27 14:06

    天祥老师讲的视频,入门可以看看

    这是天祥老师讲的视频 相当好入门可以看看啦
    发表于 04-14 16:45

    天祥的教学视频分享

    在这里分享一下天祥的教学视频,关于视频中的51开发板如果大家手头上没有相关的开发板就可以直接去淘宝上买一下,应该不会太贵,在100块以内吧。重点还是自己要坚持学下去,不要到难的地方就
    发表于 09-26 01:25

    谁有天祥老师的单片机视频,求分享!

    谁有天祥老师的十天学会单片机视频,急用,求分享!!!
    发表于 05-13 10:56

    天祥老师课件续

    天祥老师后续课件
    发表于 09-08 17:20

    天祥老师的十天学会单片机视频教程

    天祥老师的十天学会单片机视频教程,因内存过大,文档里都是百度云盘链接,请大家自行去下载,谢谢。
    发表于 04-28 11:31 914次下载

    天祥PIC单片机教学视频

    PIC单片机教学视频天祥老师录制,主要是配合天祥老师
    发表于 11-03 10:37 0次下载

    天祥老师的51单片机教程课件下载

    天祥老师的51单片机教程课件下载
    发表于 12-07 10:09 0次下载