@@ -48,18 +48,13 @@ void CurieEEPROM::write(uint32_t address, uint32_t data)
48
48
address*=sizeof (uint32_t );
49
49
50
50
uint32_t rom_wr_ctrl = 0 ;
51
- // make sure address is valid
52
- if ((address > 0x7FC ) || (address%4 ))
53
- {
54
- return ;
55
- }
56
51
57
52
// check if address is available for writing a new value. If not erase the whole 2K block and re-write the rest of the data
58
53
if (currentValue!=0xFFFFFFFF )
59
54
{
60
55
// read entire 2k of data
61
- uint32_t blockdata[EEPROM_SIZE/ 4 ];
62
- for (int i = 0 ; i < EEPROM_SIZE/ 4 ; i++)
56
+ uint32_t blockdata[EEPROM_SIZE];
57
+ for (int i = 0 ; i < EEPROM_SIZE; i++)
63
58
{
64
59
blockdata[i] = read (i*sizeof (uint32_t ));
65
60
}
@@ -72,7 +67,7 @@ void CurieEEPROM::write(uint32_t address, uint32_t data)
72
67
clear ();
73
68
74
69
// write back all data with update data on passed address
75
- for (int i = 0 ; i < EEPROM_SIZE/ 4 ; i++)
70
+ for (int i = 0 ; i < EEPROM_SIZE; i++)
76
71
{
77
72
// store data into ROM_WR_DATA register
78
73
*(uint32_t *)(ROM_WR_DATA) = blockdata[i];
@@ -115,8 +110,8 @@ void CurieEEPROM::write8(uint32_t address, uint8_t data)
115
110
if (currentValue!=0xFF )
116
111
{
117
112
// read entire 2k of data
118
- uint32_t blockdata[EEPROM_SIZE/ 4 ];
119
- for (int i = 0 ; i < EEPROM_SIZE/ 4 ; i++)
113
+ uint32_t blockdata[EEPROM_SIZE];
114
+ for (int i = 0 ; i < EEPROM_SIZE; i++)
120
115
{
121
116
blockdata[i] = read (i*sizeof (uint32_t ));
122
117
}
@@ -135,7 +130,7 @@ void CurieEEPROM::write8(uint32_t address, uint8_t data)
135
130
clear ();
136
131
137
132
// write back all data with update data on passed address
138
- for (int i = 0 ; i < EEPROM_SIZE/ 4 ; i++)
133
+ for (int i = 0 ; i < EEPROM_SIZE; i++)
139
134
{
140
135
// store data into ROM_WR_DATA register
141
136
*(uint32_t *)(ROM_WR_DATA) = blockdata[i];
0 commit comments