123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #include "myFlashData.h"
- #include "stmflash.h"
- void myFlash_writeParams(uint8_t *pBuffer,uint16_t writeLen)
- {
- STMFLASH_Write(FLASH_APP1_PARAMS_ADDR, (uint16_t *)pBuffer, (writeLen % 2) ? (writeLen + 1) : writeLen);
- }
- void myFlash_readParams(uint8_t *pBuffer,uint16_t readLen)
- {
- uint16_t i;
- uint32_t readAddr = FLASH_APP1_PARAMS_ADDR;
- uint16_t *pBufferT = (uint16_t *)pBuffer;
- readLen = (readLen % 2) ? (readLen + 1) : readLen;
- for(i = 0; i < readLen; i++)
- {
- pBufferT[i] = STMFLASH_ReadHalfWord(readAddr);
- readAddr += 2;
- }
- }
- void myFlash_setBootloadFlag(void)
- {
- uint32_t flag = IAP_UPGRADE_FLAG;
- STMFLASH_Write(IAP_UPGRADE_FLAG_ADDR, (uint16_t *)&flag, 2);
- }
- void myFlash_clearBootloadFlag(void)
- {
- uint32_t flag = 0;
- STMFLASH_Write(IAP_UPGRADE_FLAG_ADDR, (uint16_t *)&flag, 2);
- }
- bool myFlash_checkFlag(void)
- {
- return ((*(vu32*)IAP_UPGRADE_FLAG_ADDR) == IAP_UPGRADE_FLAG ? true : false);
- }
|