sohappyoh 发表于 2014-10-30 09:53:45

IAR AVR __eeprom关键字处理结构体问题求助!

本帖最后由 sohappyoh 于 2014-10-31 20:10 编辑

typedef struct
{
    uint8 CH_List_Index;
    double Freq;
    uint8 Sub_Freq;
}Device_t;


Device_t Device;
__eeprom Device_t Device_eeprom;


void StoreEEP_Sub_Freq(uint8 Freq_Table_Index)
{
    Device_eeprom.Sub_Freq = Device.Sub_Freq;
}

void StoreEEP_LNB_Freq(uint8 Freq_Table_Index)
{
    Device_eeprom.Freq = Device.Freq;
}

void ReStoreEE()//添加这个函数出现错误:Error: The output format intel-extended cannot handle multiple address spaces. Use format variants (-y -O) to specify which address space is wanted

{
    for(int i=0; i<Device_NUM; i++)
    {
      Device\.Freq = Device_eeprom\.Freq;
      Device\.Sub_Freq = Device_eeprom\.Sub_Freq;   
      Device\.CH_List_Index = Device_eeprom\.CH_List_Index;         
    }
}

sohappyoh 发表于 2014-10-31 16:34:48

给自己顶一下

levy 发表于 2014-10-31 16:40:35

那个函数有明显的错误
Device.Freq = Device_eeprom.Freq;

sohappyoh 发表于 2014-10-31 16:48:19

本帖最后由 sohappyoh 于 2014-10-31 16:50 编辑

levy 发表于 2014-10-31 16:40
那个函数有明显的错误
Device.Freq = Device_eeprom.Freq;

恩恩,我写的是你那样的,加了颜色后,那个就不见了

levy 发表于 2014-10-31 17:35:22

定义eeprom的问题
换这个试试呢
__no_init volatile Device_t __eeprom Device_eeprom@0x40;

sohappyoh 发表于 2014-10-31 20:21:13

levy 发表于 2014-10-31 17:35
定义eeprom的问题
换这个试试呢
__no_init volatile Device_t __eeprom Device_eeprom@0x40;...

单独的建立一个工程吧上面程序编译仿真是OK的,这是怎么回事?
页: [1]
查看完整版本: IAR AVR __eeprom关键字处理结构体问题求助!