沙滩上的长颈鹿 发表于 2025-3-10 16:24

HC32F460KETA芯片,进行内部Flash擦除和写入时,显示Cannot access Memory

本帖最后由 沙滩上的长颈鹿 于 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区也可能导致访问失败。
页: [1]
查看完整版本: HC32F460KETA芯片,进行内部Flash擦除和写入时,显示Cannot access Memory