研究生
最后登录1970-1-1
在线时间 小时
注册时间2017-10-7
|
本帖最后由 一条咸鱼 于 2018-5-30 10:54 编辑
犯蠢了。。。。。宏定义的时候多加了一个点。。。。。大家不用看了,非常弱智的错误。。。。。
以下为原贴,记住教训啊
用的芯片是F373,在编译 读写FLASH程序 时,出现以下问题,希望知道问题原因的朋友帮忙解答一下,谢谢!!!
编译是出现下图的错误:
////////////////////////////////////////
..\User\TEDS\temp_TEDS.c(459): error: #29: expected an expression
NbrOfPage = (
LASH_Calib_END_ADDR - FLASH_Calib_START_ADDR ) / FLASH_PAGE_SIZE;
..\User\TEDS\temp_TEDS.c: 0 warnings, 2 errors
".\Objects\temp-F373.axf" - 2 Error(s), 0 Warning(s).
///////////////////////////////////////
出错代码如下:
//////////////////////////////////////
/* 计算要擦除多少页 */
NbrOfPage = ( FLASH_Calib_END_ADDR - FLASH_Calib_START_ADDR ) / FLASH_PAGE_SIZE;
/////////////////////////////////////
奇怪的是当代码改成:
///////////////////////////////////////
/* 计算要擦除多少页 */
NbrOfPage = ( FLASH_Calib3_END_ADDR - FLASH_Calib_START_ADDR ) / FLASH_PAGE_SIZE;
//////////////////////////////////////
时,编译成功。。。。。
以下是对宏的定义:
/////////////////////////////////////////////
#define ADDR_FLASH_SECTOR_21 ((uint32_t)0x08010800) /* Base address of Sector 21, 2 Kbytes */
#define ADDR_FLASH_SECTOR_22 ((uint32_t)0x08011000) /* Base address of Sector 22, 2 Kbytes */
#define ADDR_FLASH_SECTOR_23 ((uint32_t)0x08011800) /* Base address of Sector 23, 2 Kbytes */
#define ADDR_FLASH_SECTOR_24 ((uint32_t)0x08012000) /* Base address of Sector 24, 2 Kbytes */
#define ADDR_FLASH_SECTOR_25 ((uint32_t)0x08012800) /* Base address of Sector 25, 2 Kbytes */
/* 要擦除内部FLASH的起始地址 */
#define FLASH_Calib_START_ADDR ADDR_FLASH_SECTOR_20
/* 要擦除内部FLASH的结束地址 */
#define FLASH_Calib_END_ADDR ADDR_FLASH_SECTOR_21
/* 要擦除内部FLASH的起始地址 */
#define FLASH_Calib2_START_ADDR ADDR_FLASH_SECTOR_21
/* 要擦除内部FLASH的结束地址 */
#define FLASH_Calib2_END_ADDR ADDR_FLASH_SECTOR_22
/* 要擦除内部FLASH的起始地址 */
#define FLASH_Calib3_START_ADDR ADDR_FLASH_SECTOR_22
/* 要擦除内部FLASH的结束地址 */
#define FLASH_Calib3_END_ADDR ADDR_FLASH_SECTOR_23
///////////////////////////////////////////////////
如果把FLASH_Calib_START_ADDR改成ADDR_FLASH_SECTOR_23,编译也没问题,所以现在暂时想到的原因是ADDR_FLASH_SECTOR_21地址不能用,但是这不合逻辑啊。。。。
求各位大神帮忙解答,谢谢!!!!!
|
|