https://kazus.ru/forum/topics/3967.html Здесь я приводил пример использования в ICC функций из библиотеки include для чтения/записи. В этом случае появляется проблема. Функция сама раскладывает числа на быйты, прописывает в EEPROM, считывает, но прописывает в неявном виде. Возможно там дописывается некая служебная информация. Т.ч. нельзя предварительно в программаторе вписать нужные значения или прочесть в нужный момент для анализа. Если в этом нет необходимости - то вполне приемлимо.
Можно взять код из даташита на МК. Там есть приенр и в Си и в ассемблере. Этот вариант у меня не получился, потому, что я использовал 4-х байтные числа. Разложил их на однобайтные путем сдвига, записал, а собрать после чтения опять в 4-байтные не смог. Поэтому использовал готовые функции. Если используются однобайтные числа - то проблем нет.