这篇教程C++ FLASH_EraseSector函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中FLASH_EraseSector函数的典型用法代码示例。如果您正苦于以下问题:C++ FLASH_EraseSector函数的具体用法?C++ FLASH_EraseSector怎么用?C++ FLASH_EraseSector使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了FLASH_EraseSector函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: EE_Format/** * @brief Erases PAGE and PAGE1 and writes VALID_PAGE header to PAGE * @param None * @retval Status of the last operation (Flash write or erase) done during * EEPROM formating */static FLASH_Status EE_Format(void) { FLASH_Status FlashStatus = FLASH_COMPLETE; /* Erase Page0 */ FlashStatus = FLASH_EraseSector(PAGE0_ID, FLASH_VOLTAGE_RANGE ); /* If erase operation was failed, a Flash error code is returned */ if (FlashStatus != FLASH_COMPLETE) { return FlashStatus; } /* Set Page0 as valid page: Write VALID_PAGE at Page0 base address */ FlashStatus = FLASH_ProgramHalfWord(PAGE0_BASE_ADDRESS, VALID_PAGE ); /* If program operation was failed, a Flash error code is returned */ if (FlashStatus != FLASH_COMPLETE) { return FlashStatus; } /* Erase Page1 */ FlashStatus = FLASH_EraseSector(PAGE1_ID, FLASH_VOLTAGE_RANGE ); /* Return Page1 erase operation status */ return FlashStatus;}
开发者ID:Tenkiv,项目名称:Tekdaqc-Firmware-Depricated,代码行数:31,
示例2: eraseHelperFLASH_Status eraseHelper(uint32_t pageAddress){ #if defined(SERIES_STM32F37x) || defined(SERIES_STM32F30x) return FLASH_ErasePage(pageAddress);#else if (pageAddress == PAGE0_BASE_ADDRESS) return FLASH_EraseSector(PAGE0_ID, VOLTAGE_RANGE); else if (pageAddress == PAGE1_BASE_ADDRESS) return FLASH_EraseSector(PAGE1_ID, VOLTAGE_RANGE); else return FLASH_ERROR_PROGRAM;#endif}
开发者ID:japina,项目名称:koduino,代码行数:13,
示例3: bsp_Firmware_Eraseu8 bsp_Firmware_Erase(u8 APP_Select){ u8 status=0; FLASH_Unlock(); //解锁 FLASH_DataCacheCmd(DISABLE);//FLASH擦除期间,必须禁止数据缓存 FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_OPERR|FLASH_FLAG_WRPERR| FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); if(APP_Select) status=FLASH_EraseSector(FLASH_Sector_6 ,VoltageRange_3);//VCC=2.7~3.6V之间!! else status=FLASH_EraseSector(FLASH_Sector_5 ,VoltageRange_3);//VCC=2.7~3.6V之间!! MCU_WriteStatus=status; return MCU_WriteStatus;}
开发者ID:CaptainJe,项目名称:BlueShiled,代码行数:15,
示例4: Flash_EraseDataBuffervoid Flash_EraseDataBuffer(){ FLASH_Unlock(); FLASH_ClearFlag( FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); // Erase Sectors // 8-10 is data logger FLASH_EraseSector(FLASH_Sector_8, VoltageRange_3); FLASH_EraseSector(FLASH_Sector_9, VoltageRange_3); FLASH_EraseSector(FLASH_Sector_10, VoltageRange_3); Flash_ResetFlashAddress(); FLASH_Lock();}
开发者ID:JMarple,项目名称:Micromouse-2016,代码行数:15,
示例5: eep_erase/** * @brief Main program * @param None * @retval None */ErrorStatus eep_erase( void ){ ErrorStatus Err = SUCCESS; /* Enable the flash control register access */ FLASH_Unlock(); /* Erase the user Flash area ************************************************/ /* area defined by FLASH_USER_START_ADDR and FLASH_USER_END_ADDR */ /* Clear pending flags (if any) */ FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); /* Get the number of the start and end sectors */ uwStartSector = GetSector(FLASH_USER_START_ADDR); /* Device voltage range supposed to be [2.7V to 3.6V], the operation will be done by word */ if (FLASH_EraseSector(uwStartSector, VoltageRange_3) != FLASH_COMPLETE) { /* Error occurred while sector erase. User can add here some code to deal with this error */ Err = ERROR; } FLASH_Lock(); return Err;}
开发者ID:dasuimao,项目名称:DTS-2500_HMI0030_BOOT,代码行数:35,
示例6: restoreCalibrateParamToFlashstatic bool restoreCalibrateParamToFlash ( CalibrateParam* p ){ int i ; int n = sizeof(*p) / sizeof(uint32_t) ; uint32_t Address = CALIBRATE_PARAM_ADDR ; uint32_t *d = (uint32_t *) p ; FLASH_Unlock(); FLASH_EraseSector(FLASH_Sector_5,VoltageRange_3); for ( i=0;i<n;i++){ FLASH_ProgramWord( Address, *d ); d ++ ; Address += 4; } FLASH_Lock(); // 检验是否正确写入 bool ret = true ; d = (uint32_t *) p ; uint32_t *d2 = (uint32_t*)CALIBRATE_PARAM_ADDR ; for ( i=0; i<n; i++ ) { if ( d[i] != d2[i] ) { ret = false ; break ; } } return ret ;}
开发者ID:NewThinker-Jiwey,项目名称:AjefGmaj,代码行数:34,
示例7: writebool write(uint32_t addr, uint16_t * data, const uint16_t data_len){ int sector; /* Check bounds */ if ((addr >= (SECTOR11_START_ADDR + SECTOR_SIZE_128KB)) || (addr < SECTOR0_START_ADDR)) return false; /* Need to compute sector to erase */ if (addr >= SECTOR5_START_ADDR) sector = 5 + ((addr - SECTOR5_START_ADDR)/SECTOR_SIZE_128KB); else if (addr >= SECTOR4_START_ADDR) sector = 4; else sector = (addr - SECTOR0_START_ADDR)/SECTOR_SIZE_16KB; /* Unlock flash */ FLASH_Unlock(); FLASH_EraseSector(sector * 0x08, VoltageRange_3); /* Write data */ for (int i = 0; i < data_len; i += 2) { FLASH_ProgramHalfWord(addr, *data); data++; addr += 2; } return true;}
开发者ID:alemoke,项目名称:stm32,代码行数:30,
示例8: stm32_flash_eraseint stm32_flash_erase(uint32_t offset, uint16_t len){ uint32_t StartSector, EndSector; uint32_t flash_user_start_addr, flash_user_end_addr; uint32_t addr; uint8_t i; /* Get the number of the start and end sectors */ flash_user_start_addr = ADDR_FLASH_SECTOR_0 + offset; flash_user_end_addr = flash_user_start_addr + len; StartSector = GetSector(flash_user_start_addr); EndSector = GetSector(flash_user_end_addr); /* Erase sector */ for (i = StartSector; i <= EndSector; i += 8) { /* Device voltage range supposed to be [2.7V to 3.6V], the operation will be done by word */ if (FLASH_EraseSector(i, VoltageRange_3) != FLASH_COMPLETE) { return -1; } } return 0;}
开发者ID:MaoxiaoHu,项目名称:stm32f4-bootloader,代码行数:25,
|