完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
背景:项目中使用的MCU是STM32L431,在进行升级时需要往Flash中写数据,其他业务代码都是可以正常读写,但是在写升级数据时进入HardFault_Handler,程序跑飞。由于项目需要,获取升级包的文件所有结构体采用一字节对齐,解析升级包采用指针偏移的方式。进入Flash未进行擦除操作前的参数如下:要写入的长度和地址都是没问题的,但是buf指针的在RAM中的地址为0x200053D2,在此状态下擦除和写操作一定会进入HardFault_Handler。计算后发现0x200053D2不是4字
|
|
|
|
只有小组成员才能发言,加入小组>>
3000 浏览 9 评论
2714 浏览 16 评论
3231 浏览 1 评论
8494 浏览 16 评论
3802 浏览 18 评论
9398浏览 3评论
642浏览 3评论
10597浏览 2评论
336浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
339浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-15 03:20 , Processed in 0.748993 second(s), Total 76, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号