Введение

Внутренняя энергонезависимая память контроллера, пригодная для наших целей может быть как EEPROM, так и память программ (FLASH). EEPROM есть ни у каждого чипа, и ее объемы часто бывают недостаточны. FLASH, в силу своей особенности имеет ощутимые ограничения по количеству циклов стирания/записи. Плюс ко всему, стирание возможно только постранично. То есть, если нужно переписать один байт, то необходимо стереть всю страницу, затем заново записать нужные данные. Есть методики использования FLASH для этих целей, которые позволяют использовать ее более эффективно, но данная статья не об этом.
В этой статье мы рассмотрим работу с внешними энергонезависимыми микросхемами памяти, которые работают по последовательному интерфейсу I2C. Протокол весьма стандартный, подходит как для классических 24LCxx микросхем, так и для современных FRAM. Последние имеют ряд ярко выраженных плюсов, отставая, разве что, только по цене от классической EEPROM.