自定义数据在FLASH中的存储位置
在实际开发中经常会需要配置一些参数,一般情况下我们会将这些信息存储在EEPROM中,但如果从成本考虑,也可以直接存储在单片机的内部FLASH中。
在Keil MDK和IAR中,写法是有所差异的。
#ifndef __SYS_INFO_H
#define __SYS_INFO_H
#include "stm32f2xx_conf.h"
#include <string.h>
#define INFO_ADDR 0x08060000
#define INFO_FLASH_SECT FLASH_Sector_7
typedef struct
{
u8 AppName[64];
u8 FwDate[16];
u8 FwTime[16];
u8 CopyRight[32];
}SYS_INFO;
extern const SYS_INFO SysInfo;
#endif
#include "stm32f2xx.h"
#include <string.h>
#include "SysInfo.h"
/*这是IAR中的配置*/
#pragma location = INFO_ADDR
__root const SYS_INFO SysInfo =
{
{'A','P','P','N','A','M','E'},
{__DATE__},
{__TIME__},
{'C','o','p','y','r','i','g','h','t'},
} ;
/*这是MDK中的配置*/
const SYS_INFO SysInfo __attribute__((at(INFO_ADDR))) =
{
{'A','P','P','N','A','M','E'},
{__DATE__},
{__TIME__},
{'C','o','p','y','r','i','g','h','t'},
} ;

浙公网安备 33010602011771号