WXK
2024-01-25 88da33b0d531f61e1b75d27e18b6f244ad2c3224
Src/OnChipDevices/Flash.c
@@ -34,7 +34,7 @@
  * @retval 0:error; 1:success
  */
extern uint16_t testflag;
uint32_t FLASH_Prepare(uint32_t Address, uint32_t Len)      //起始地址和字长
{uint32_t PageError = 0;
   FLASH_EraseInitTypeDef EraseInitStruct;
@@ -45,9 +45,12 @@
   // HAL_FLASH_Lock(); 
    if (HAL_FLASHEx_Erase(&EraseInitStruct, &PageError) != HAL_OK)
  {
      testflag=1;
      HAL_FLASH_Lock();
      return 0;
   }else{
        testflag=0;
      HAL_FLASH_Lock();
      return 1;
   }
@@ -99,9 +102,10 @@
  * @retval 0:error  ; 1:success
  */
#define DATA_32                 ((uint32_t)0x12345678)
uint32_t temp21;
uint32_t FLASH_Write( uint32_t Address, const uint8_t* pData, uint32_t Len)
{
   uint32_t WriteCount = 0,temp;
   uint32_t WriteCount = 0;
   uint32_t FlashDestination = Address;
   uint32_t FlashSource = (uint32_t)pData;
   HAL_StatusTypeDef FLASHStatus = HAL_OK;
@@ -109,8 +113,8 @@
   HAL_FLASH_Unlock();
   
   for( ; WriteCount < Len; WriteCount+=4)
   {temp=*(uint32_t*)FlashSource;
      FLASHStatus = HAL_FLASH_Program(FLASH_TYPEPROGRAMDATA_WORD, FlashDestination, temp);
   {temp21=*(uint32_t*)FlashSource;
      FLASHStatus = HAL_FLASH_Program(FLASH_TYPEPROGRAMDATA_WORD, FlashDestination, temp21);
      
      if( FLASHStatus != HAL_OK)
      {