12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef MAIN_H
- #define MAIN_H
- #include "stdint.h"
- /*
- flash分区设计:
- 0x08000000~0x08004FFF bootleader;20KB=10页
- 0x08005000~0x08036FFF app;200KB=100页
- 0x08037000~0x08068FFF download;200KB=100页
- 0x08069000~0x080707FF OTA_EVENT_BLOCK;2KB=1页
- 0x08070800~0x0807FFFF 剩余内存;62KB=31页
- 0x08080000~0x082FFFFF 剩余内存;2.5MB=640页
- */
- #define GD32_FLASH_SADDR 0x08000000 //FLASH起始地址
- #define GD32_PAGE_SIZE 2048 //FLASH扇区大小
- #define GD32_PAGE_NUM 256 //FLASH总扇区个数
- #define GD32_B_PAGE_NUM 10 //B区扇区个数
- #define GD32_A_PAGE_NUM 100 //A区扇区个数
- #define GD32_D_PAGE_NUM 100 //D区扇区个数
- #define GD32_A_START_PAGE GD32_B_PAGE_NUM //APP区起始扇区编号
- #define GD32_A_SADDR GD32_FLASH_SADDR + GD32_A_START_PAGE * GD32_PAGE_SIZE //A区起始地址
- #define GD32_D_SADDR GD32_FLASH_SADDR + (GD32_A_START_PAGE + GD32_A_PAGE_NUM) * GD32_PAGE_SIZE //D区起始地址
- #define OTA_INFOCB_SIZE sizeof(OTA_InfoCB) //OTA相关的信息结构体占用的字节长度
-
- //注意4字节对齐
- typedef struct{
- uint32_t otaflag; //用于记录是否要从w25q32中读取
- uint32_t XmodemByte; //用于记录一共写入了多少字节的数据
- }OTA_STRUCT;
- extern OTA_STRUCT UpDataA;
- void task_fwdgt_reload();
- #endif
|