17/07/22 07:11:06.74 jlfjZwz9.net
>>940
コンパイラの最適化が頼りない時は
自力で最適化を行う
uint8_t *buf = &buff[0][0];
uint8_t i = 0x80;
do {
buf[0] = read_eeprom(i);
buf[1] = read_eeprom(i+1);
buf[2] = read_eeprom(i+2);
buf[3] = read_eeprom(i+3);
buf += 4;
i += 4;
} while (i =! 0xC0);
スピード優先だとこんな感じかな?
サイズ優先だとループ展開せずに以下の一行に
*buf++ = read_eeprom(i++);
スピード優先も、もしかしたらこれを複数行並べる方が速いかも