WaitForLastOperation(50);/* 双字编程 */if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, startAddr, *(pDat + i)) == HAL_OK){startAddr += 8;tryCount = 0;break;}else{tryCount++;}}}if (tryCount){dprintf("Write Flas
if(HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD,start_address,data) != HAL_OK) { HAL_FLASH_Lock(); return; } start_address += 8; } HAL_FLASH_Lock();//上锁 } 读flash uint32_t ST_Flash_Read(uint32_t R_Addr) { //直接读地址,可以读取其他类型,。 return *(volatile uint32_t *)...
FlashEraseInit.NbPages = 1; //一次只擦除一页 HAL_FLASH_Unlock(); if(HAL_FLASHEx_Erase(&FlashEraseInit,&PageError) != HAL_OK) { return 2;//发生错误了 } ret = HAL_FLASH_Program(TYPEPROGRAM_DOUBLEWORD, address , data); HAL_FLASH_Lock(); return ret; } 3,读取数据代码 uint64_t...
tempWriteAdd, tempWriteData);HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, tempWriteAdd, tempWrit...
= HAL_OK) { // 处理擦除错误 return; } // 写入数据 for (uint32_t i = 0; i < length; i += 8) { // 按双字(8字节)写入 if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, address + i, *((uint64_t*)(data + i))) != HAL_OK) { // 处理写入错误 break; } } // ...
Typ Max Unit 200 260 300 380 520 650 μA 5.3.10 Flash memory characteristics Table 43. Flash memory characteristics(1) Symbol Parameter Conditions tprog tprog_row tprog_page tERASE tprog_bank tME IDD(FlashA) IDD(FlashP) 64-bit programming time Row (32 double word) programming time Page...
如果使能了写35voidSTMFLASH_Write_NoCheck(uint32_t faddr,uint8_t *pBuffer,uint16_t length)36{37uint64_t temp;38for(uint16_t i=0;i <= length/8;i++)39{40memcpy(&temp, pBuffer + i *8,sizeof(temp));41HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD,faddr,temp);//一次写8字节...
The whole non-volatile memory embeds the error correction code (ECC) feature supporting: 3.3.1 • single error detection and correction • double error detection • readout of the ECC fail address from the ECC register Securable area A part of the Flash memory can be hidden from the ...
Flash memory characteristics(1) Symbol tprog Parameter Row (32 double word) programming time tprog_page Page (2 Kbyte) programming time tprog_bank tME IDD(FlashA) IDD(FlashP) Typ Max Unit - 85 125 µs Normal programming 2.7 4.6 Fast programming 1.7 2.8 Normal programming 21.8 36.6 Fast...
HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD,(uint32_t)(uint64_t *)(Address),Data64_To_Prog[1]); Address = (uint64_t *)(Address_Const + 16); HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD,(uint32_t)(uint64_t *)(Address),Data64_To_Prog[2]); ...