From 88da33b0d531f61e1b75d27e18b6f244ad2c3224 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 25 一月 2024 18:05:19 +0800 Subject: [PATCH] 完成升级基站开发 --- Src/OnChipDevices/Flash.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Src/OnChipDevices/Flash.c b/Src/OnChipDevices/Flash.c index 942e1de..adcf664 100644 --- a/Src/OnChipDevices/Flash.c +++ b/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; @@ -44,10 +44,13 @@ EraseInitStruct.NbPages = Len >>7; // 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) { -- Gitblit v1.9.3