| | |
| | | *******************************************************************************/ |
| | | #define MAX_REQUEST_SIZE (5 * 1024) |
| | | #define APP2_ADRESS 0x0402f000 |
| | | #define APP_SIZE 0x04080000-APP2_ADRESS |
| | | |
| | | //#define APP_SIZE 0x04080000-APP2_ADRESS |
| | | #define APP_CONFIG_APPLICATION_SIZE 0x19000 //4K对齐 |
| | | /******************************************************************************* |
| | | * Type Definition * |
| | | *******************************************************************************/ |
| | |
| | | result1=flash_open(FLASH_ID0,NULL); |
| | | if(!result1) |
| | | { |
| | | flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, 2);//擦除APPFLAG |
| | | flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t*)&tmp, sizeof(tmp)); |
| | | flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE);//擦除APPFLAG |
| | | flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t*)&tmp, sizeof(tmp)); |
| | | flash_erase(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, FLASH_SECTOR_SIZE);//擦除APPFLAG |
| | | } |
| | | __enable_irq(); |
| | | delay_us(1000000); |
| | |
| | | result1=flash_open(FLASH_ID0,NULL); |
| | | if(!result1) |
| | | { |
| | | flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, 2);//擦除APPFLAG |
| | | flash_erase(FLASH_ID0, APP_CONFIG_IAPFLAG_SECTOR_ADDR, FLASH_SECTOR_SIZE);//擦除APPFLAG |
| | | flash_write_nbytes(FLASH_ID0, APP_CONFIG_IAPFLAG_MAP, (uint8_t*)&tmp, sizeof(tmp)); |
| | | flash_erase(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, 256);//擦除APPFLAG |
| | | flash_erase(FLASH_ID0, APP_CONFIG_IAP_PARAM_MAP, FLASH_SECTOR_SIZE);//擦除APPFLAG |
| | | } |
| | | __enable_irq(); |
| | | delay_us(1000000); |
| | |
| | | SPIFlash_Erase(SPI_FLASH_ID_0, APP_CONFIG_APP_DOWN_LOAD_SPIFLASH_ADDRESS, |
| | | APP_CONFIG_APP_DOWN_LOAD_SPIFLASH_SIZE, SPI_FLASH_SECTOR_ERASE_MODE_64K); |
| | | #else |
| | | flash_erase(FLASH_ID0,APP2_ADRESS,APP_SIZE); |
| | | flash_erase(FLASH_ID0,APP2_ADRESS,APP_CONFIG_APPLICATION_SIZE); |
| | | #endif |
| | | /* 请求升级文件长度 */ |
| | | if(OTA_RequestFileLen() != HIDO_OK) |