не могу считать "Calibration Row" в XMEGA, вроде делаю всё как надо Read User Signature Row / Calibration Row
The Read User Signature Row and Read Calibration Row commands are used to read one byte
from the User Signature Row or Calibration Row.
1. Load the Z-pointer with the byte address to read.
2. Load the NVM CMD register with the Read User Signature Row / Calibration Row
command
3. Execute the LPM instruction.
The destination register will be loaded during the execution of the LPM instruction.
To ensure that LPM for reading flash will be executed correctly it is adviced to disable interrupt
while using either of these commands.
- запрещаю прерывания
- пищу в Z адрес "PROD_SIGNATURES_START" (это 0x0000, и читать будем весь вектор)
- гружу в командный регистр NWM команду "NVM_CMD_READ_CALIB_ROW_gc" (0x02)
- в цикле читаю lpm TMP,Z+ (перед каждым lpm опять прописываю командный регистр NWM, ибо он сбрасывается при чтении по lpm)
в итоге получаю данные из памяти программ с нулевого адреса :((
вроде по описанию не нужно ставить бит исполнения NWM-команды, т.к. триггером является команда "lpm" (каюсь, пробовал и с этим битом, через механизм CCP, ессно) - всё глухо
уже и в ручную в отладчике пошагово проходил всё с ручным изменением нужных регистров :( - без толку, упорно читаются данные из флеша.
битый час мучаюсь
ЧЯДНТ ?? :((
-------------------
пошёл искать аппноты на сайт некрочипа :((