ramlife stm32f429使用 stm32cube 自动生成 eth 代码的时候,运行出现 FLASH_FLAG_PGSERR 错误。 见过调试发现,MX_ETH_Init 中没有对指针进行赋值,就直接写入了,所以出错。 进行下面的修改。 /* USER CODE BEGIN 0 */staticuint8_tmacAddr[6];voidMX_ETH_VarInit(void){ heth.Init.MACAddr = macAddr; ...
(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); FLASH_Status status = FLASH_EraseSector(sector, VoltageRange_3); // 等待擦除完成 if (status != FLASH_COMPLETE) { FLASH_Lock(); return -1; // 擦除...
FLASH_Unlock(); FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); 通过工具写数据,就是我们量产时说的下载数据,正式一点说法叫编程。 3.擦除数据 擦除数据通常分擦除页、扇区、整块,擦除时间也因型号不同、速度不同...
/* 清空相应的标志位*/ FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); //尝试获取100条记录 for(i=0;i<100;i++) { //获取存储的记录 flash_read_record(buf,i); //检查记录是否存在换行符号,不存在则不...
FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); /* Get the number of the start and end sectors */ StartSector = GetSector(FLASH_USER_START_ADDR); //获取FLASH的Sector编号 EndSector = GetSector(FLASH_USER_END_ADDR); //擦除FLASH for (i = StartSector; i < EndSector; i +...
FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); StartSector = GetSector(FLASH_USER_START_ADDR); //获取FLASH的Sector编号 EndSector = GetSector(FLASH_USER_END_ADDR); //擦除FLASH for (i = StartSector; i < EndSector; i += 8) //每次FLASH编号增加8,可参考上边FLASH Sector的定义...
结果:标志位没有清除,导致程序错误,到此问题结束,程序运行正常。 FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR |FLASH_FLAG_WRPERR |FLASH_FLAG_PGAERR |FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR | FLASH_FLAG_BSY| FLASH_FLAG_RDERR); 代码呈上 作者:小张张张!!
(); /* 擦除用户区域 (用户区域指程序本身没有使用的空间,可以自定义)**/ /* 清除各种FLASH的标志位 */ FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR| FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); FLASH_INFO("\r\n"); FLASH_INFO("正在准备恢复的...
FLASH_Unlock(); FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); 通过工具写数据,就是我们量产时说的下载数据,正式一点说法叫编程。 3.擦除数据 擦除数据通常分擦除页、扇区、整块,擦除时间也因型号不同、速度不...
FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); /* Get the number of the start and end sectors */ StartSector = GetSector(FLASH_USER_START_ADDR); //获取FLASH的Sector编号 EndSector = GetSector(FLASH_USER_END_ADDR); //擦除FLASH ...