stm32整理工程目录框架后报unaligned错误

首先说明项目是基于MDK


接手了项目代码,但是项目的目录架构很乱,没调理,于是就想着整理一下(代码反正要重写)。


。。。。。。



整理完了,烧录到板子上运行,太意外了,前几秒都还好好的,突然就死了。


麻烦了,我没有直接去检查原因,而是通过之前的备份按照现在的目录一个文件一个文件的转移,看到底是哪个文件的改变造成的。


。。。。。。


找到了,于是进行调试检查原因,当死了的时候打开Fault Reports面板,发现UNALIGNED的勾被打上了,按照以前的经验判断

这个是字节未对齐,一般出在结构体上,凭直觉初步判断大概在哪个位置,然后再进行断点调试,果不其然,是执行一个向结构体

变量拷贝内存时出现的。


定位到那个变量的结构体定义,发现内部定义基本满足4字节对齐,纳闷儿了,在网上搜答案,这里又吐槽一下狗屎B度,我用关键字

stm32 unaligned 搜索,尽是些无用信息,切换google,第一个就是想要的结果,一个论坛里的,大概看了一下,说是要加

__packed关键字,于是试着加在结构体定义的typedef前面,再次编译运行。


。。

很神奇,顺利通过,再测试最之前改的那个目前架构,也顺利通过了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值