Ну можно ставить EEAR...можно не ставить... EEAR после каждого обращения на неиспользуемую ячейку. У меня всегда это 0
Каждый решает сам для себя. Хозяин - барин. Хуже от этого не будет.
А с квалификатором это известная подстава ИАРа :) Посмотри реализацию в ассемблере.
Может быть - я использую __eeprom только при определении переменной. Чтение-запись только через свои функции.
Ведь квалификатор и служит чтобы ты обращался к епром отовсюду легко и не заморачиваясь как к обычной переменной
Видимо у них другая логика - читать eeprom нужно только из одного потока исполнения.
да и кто вообще запрещает в прерывании читать епром
Не нужно так делать - что если в основной программе запущена запись в eeprom? Ждать в прерывании несколько милисекунд пока запись не завершится? Как-то это неправильно, не по-нашему.
Если уж так хочется чтобы разные потоки работали с eeprom, то нужно доступ через мьютексы обеспечивать. И из прерываний не лезть к eeprom - зачем прерывания вешать? Какой же это realtime - всё равно что задержки через delay_ms делать.