You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32 Blue Pill内部Flash读取特定字节异常原因排查

STM32 Blue Pill内部Flash读取特定字节异常排查

对STM32 Blue Pill的内部Flash执行读写操作,写入过程验证正常,但读取数据时仅有特定字节出现异常。读取8KB数据时仅156字节出错,且每次均为相同位置,但通过STM32CubeProgrammer查看内存可确认数据已准确写入Flash。

读取Flash的代码如下:

uint8_t *Read_Buffer;
uint16_t Read_Size = 8192;
uint32_t Internal_Flash_Address = 0x0800C000;
Read_Buffer = (uint8_t *) malloc(Read_Size * sizeof(uint8_t));

for(uint16_t j=0; j<Read_Size; j++){
    Read_Buffer[j] = *(__IO uint8_t *)Internal_Flash_Address;
    Internal_Flash_Address++;
}
while(CDC_Transmit_FS(Read_Buffer, Read_Size) != USBD_OK){};
free(Read_Buffer);

写入的数据

写入的数据

读取的错误数据(黄色标记为异常字节)

读取的错误数据

STM32CubeProgrammer查看的Flash数据

STM32CubeProgrammer查看的Flash数据

请问通过内存指针读取数据时,出现该现象的其他原因有哪些?


内容的提问来源于stack exchange,提问作者Diracx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 21:32:04