Подскажите пожалуйста. Я правильно понимаю для того чтобы записывать в eeprom какие то значения нужно отключать все прерывания? Я такую информацию нашел на этом форуме. (пример Ram funciton). Дело в том что я пытаюсь внутри прерывания по ehternet сразу менять ip платы. но я так понимаю в прерывании менять какие то поля в EEPROM не правильно

. Простите за тупость бошка пухнет от такого количества новой информации.
Для записи/стирании EEPROM необходимо, чтобы код исполнялся из адресного диапазона 0x2010_0000 - 0x2010_3FFF. Flash-память при этом работает как периферийный блок, инструкции из неё в этот момент извлекать нельзя. Если у вас будет разрешено какое-либо прерывание и произойдет событие прерывания, то согласно таблице векторов прерываний процессор обратиться к Flash-памяти (перейдет на вектор прерывания), что приведет к сбою вашей программы.
Сразу менять ip платы в прерывании Ethernet вы можете, но при этом код функций работы с Flash должен исполняться из ОЗУ, должны быть запрещены прерывания. Также учтите, что стирать Flash-память можно только страницами по 4 кБ. Можете посмотреть прикрепленный пример.