[技术问答] HC32F460KETA芯片,进行内部Flash擦除和写入时,显示Cannot access Memory

[复制链接]
 楼主| 沙滩上的长颈鹿 发表于 2025-3-10 16:24 | 显示全部楼层 |阅读模式
本帖最后由 沙滩上的长颈鹿 于 2025-3-10 17:45 编辑

(已解决)地址越界导致
Clyde011 发表于 2025-7-31 16:18 | 显示全部楼层
地址越界确实是Flash操作最常见的坑,特别是擦写时一定要确认地址范围。
周半梅 发表于 2025-7-31 16:18 | 显示全部楼层
有些芯片对Flash保护区域有限制,可能需要先解锁才能正常擦写。
帛灿灿 发表于 2025-7-31 16:19 | 显示全部楼层
你用的开发环境是STM32CubeIDE还是其他?有时候IDE配置也会影响Flash访问权限。
童雨竹 发表于 2025-7-31 16:20 | 显示全部楼层
Flash擦写前,确保关闭了相关中断,避免擦写过程被打断。
万图 发表于 2025-7-31 16:20 | 显示全部楼层
Flash写入函数里地址校验要做好,防止误写导致“Cannot access Memory”错误。
Wordsworth 发表于 2025-7-31 16:21 | 显示全部楼层
你有检查过芯片手册中关于Flash擦写的操作顺序和寄存器配置吗?
Bblythe 发表于 2025-7-31 16:22 | 显示全部楼层
我以前也遇到过类似问题,是因为启动代码里Flash起始地址配置错误。
jf101 发表于 2025-7-31 16:22 | 显示全部楼层
地址问题一定要重视
Pulitzer 发表于 2025-7-31 16:22 | 显示全部楼层
有时候链接脚本(.ld文件)配置不对,也会导致地址越界访问。
Uriah 发表于 2025-7-31 16:23 | 显示全部楼层
解决这类问题,建议先打印擦写地址和长度,确认参数没错。
公羊子丹 发表于 2025-7-31 16:24 | 显示全部楼层
你用的Bootloader吗?Bootloader保护Flash区也可能导致访问失败。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

6

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部