HC32F460KETA芯片,进行内部Flash擦除和写入时,显示Cannot access Memory
本帖最后由 沙滩上的长颈鹿 于 2025-3-10 17:45 编辑(已解决)地址越界导致 地址越界确实是Flash操作最常见的坑,特别是擦写时一定要确认地址范围。 有些芯片对Flash保护区域有限制,可能需要先解锁才能正常擦写。 你用的开发环境是STM32CubeIDE还是其他?有时候IDE配置也会影响Flash访问权限。 Flash擦写前,确保关闭了相关中断,避免擦写过程被打断。 Flash写入函数里地址校验要做好,防止误写导致“Cannot access Memory”错误。 你有检查过芯片手册中关于Flash擦写的操作顺序和寄存器配置吗? 我以前也遇到过类似问题,是因为启动代码里Flash起始地址配置错误。 地址问题一定要重视 有时候链接脚本(.ld文件)配置不对,也会导致地址越界访问。 解决这类问题,建议先打印擦写地址和长度,确认参数没错。 你用的Bootloader吗?Bootloader保护Flash区也可能导致访问失败。
页:
[1]