0

eeprom を特定の値で初期化したいのですが、意図したとおりに動作しません。私は何を間違っていますか:

IAR の .icf ファイルから

define symbol __region_EEPROM_start__ = 0x08080030;
define symbol __region_EEPROM_end__ = 0x080807FF;
..
define region EEPROM_region = mem:[from __region_EEPROM_start__ to __region_EEPROM_end__];
..
place in EEPROM_region  {rw section .eeprom};

私のコードでは:

__root char dataE[] @ ".eeprom" = {0xFF};
int
main (void)
{

  init ()

それでもeepromは正しく初期化されません.デバッグモードで得られるのは次のとおりです:

0x08080000 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x08080010 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x08080020 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x08080030 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
4

1 に答える 1