first submission
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
/********************************** (C) COPYRIGHT *******************************
|
||||
* File Name : Internal_Flash.c
|
||||
* Author : WCH
|
||||
* Version : V1.0.0
|
||||
* Date : 2022/08/08
|
||||
* Description : Internal Flash program
|
||||
*********************************************************************************
|
||||
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
|
||||
* Attention: This software (modified or not) and binary are used for
|
||||
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
|
||||
*******************************************************************************/
|
||||
#include "ch32v20x.h"
|
||||
#include "Internal_Flash.h"
|
||||
#include "ch32v20x_flash.h"
|
||||
|
||||
void IFlash_Prog_512(uint32_t address,uint32_t *pbuf)
|
||||
{
|
||||
if (address < IFLASH_UDISK_START_ADDR || (address + 511) > IFLASH_UDISK_END_ADDR )
|
||||
{
|
||||
printf("Error Address %x\n",address);
|
||||
return;
|
||||
}
|
||||
address &= 0x00FFFFFF;
|
||||
address |= 0x08000000;
|
||||
__disable_irq();
|
||||
FLASH_Unlock_Fast();
|
||||
FLASH_ErasePage_Fast(address);
|
||||
FLASH_ProgramPage_Fast(address, pbuf);
|
||||
FLASH_ErasePage_Fast(address + INTERNAL_FLASH_PAGE_SIZE);
|
||||
FLASH_ProgramPage_Fast(address+ INTERNAL_FLASH_PAGE_SIZE, pbuf + INTERNAL_FLASH_PAGE_SIZE/4);
|
||||
FLASH_Lock_Fast();
|
||||
__enable_irq();
|
||||
}
|
||||
Reference in New Issue
Block a user