[STM8] 用IAR扩展关键字__eeprom直接定义eeprom变量

[复制链接]
4202|3
 楼主| yishengyouni953 发表于 2014-3-29 11:28 | 显示全部楼层 |阅读模式
不明白这几个函数是用来干嘛的,主函数里面也没涉及到它们,难道想用__eeporm关键字就得把它们加上吗?
当我把__eeprom_wait_for_last_operation这个函数名改成wait_for_last_operation马上就报错,怎么IAR对它好像当成关键字一样的认识,求各位帮忙看一下,怎样来理解呢?
#include "stm8s_flash.h"

#pragma language=extended

int __eeprom_wait_for_last_operation(void)
{
  FLASH_Status_TypeDef status = FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);
  return !!(status & (  FLASH_STATUS_SUCCESSFUL_OPERATION
                      | FLASH_STATUS_END_HIGH_VOLTAGE));
}

void __eeprom_program_byte(unsigned char __near * dst, unsigned char v)
{
  FLASH_ProgramByte((u32)dst, (u8)v);
}

void __eeprom_program_long(unsigned char __near * dst, unsigned long v)
{
  FLASH_ProgramWord((u32)dst, (u32)v);
}



__no_init int __eeprom gMem;



int main(void)
{
  

  FLASH_Unlock(FLASH_MEMTYPE_DATA);

  gMem = 0;                                  /* struct copy */


  FLASH_Lock(FLASH_MEMTYPE_DATA);

}
 楼主| yishengyouni953 发表于 2014-3-30 10:21 | 显示全部楼层
版主,各路大神,帮小弟看一下
crazybee 发表于 2014-11-28 11:25 | 显示全部楼层
话说 新版的IAR STM8支持__eeprom关键字,可是我用了,提示:
Error[Li005]: no definition for "__eeprom_wait_for_last_operation" [referenced from eeprom_util.o(dlstm8smn.a)]
代码在这个里面,谁有解压密码?
EWSTM8-library-source.exe

奇怪LIB里咋没有把这个编译到DLSTM8SMN.A里。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部