Перейти к содержанию
    

Абсолютные адреса регистров в ATXmega64A3U

Давно работаю с мегами. Решил вот на хмеги перейти. Смотрю в ДШ – спагетти. Явно писали не те писатели, что для мег нормальные портянки писали. Ну да ладно, сейчас не об этом.

 

По существу.

Вот дурацкая система (извините, опять эмоции) адреса регистров писать +0х00, +0х01, ... . А вот к чему это приплюсовывать-то? Ну для некоторых регистров нашел. А вот, в частности, для RCOSC2M не могу найти в ДШ ни на XMEGA-AU ни на конкретно ATXmega64A3U.

Подскажите, пожалуйста, где такое искать?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давно работаю с мегами. Решил вот на хмеги перейти. Смотрю в ДШ – спагетти. Явно писали не те писатели, что для мег нормальные портянки писали. Ну да ладно, сейчас не об этом.

 

По существу.

Вот дурацкая система (извините, опять эмоции) адреса регистров писать +0х00, +0х01, ... . А вот к чему это приплюсовывать-то? Ну для некоторых регистров нашел. А вот, в частности, для RCOSC2M не могу найти в ДШ ни на XMEGA-AU ни на конкретно ATXmega64A3U.

Подскажите, пожалуйста, где такое искать?

4.23 Register Summary - Production Signature Row

 

Система не дурацкая, а приспособленная для того, чтобы удобно было создавать программы на С/С++. Сейчас практически у всех МК, в документации такая система отсчета.

Чтобы не выглядеть дураком, обзывая систему дурацкой, курите внимательно мануалы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4.23 Register Summary - Production Signature Row

И? Адрес-то где?

Чтобы не выглядеть дураком, обзывая других дураками, курите внимательно вопрос, на который пытаетесь ответить.

А система была бы не дурацкой, если бы было написано, напимер,

ABC+0x01

и эту ABC можно было бы легко найти.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Они не отображаются на память. Их надо вычитывать через NVM Controller.

 

33.11.2.14 Read User Signature Row / Production Signature Row

The read user signature row and read production signature (calibration) row commands are used to read one byte from

the user signature row or production signature (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 / production signature (calibration) row command

3. Execute the LPM instruction.

The destination register will be loaded during the execution of the LPM instruction.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, VladislavS

Но еще требуется уточнение.

Я правильно понимаю, что для чтения RCOSC32K («+0х02», п. 4.17.3) нужно

ZH=0x00

ZL=0x02

?

А доступ к CMD = +0x0A (4.15.7) это обращение к памяти (LDS/STS в случае ассемлера) по адресу NVM (=0x01C0) плюс это смещение, т.е. 0x01CA?

 

И вот кто же догадается, что для того чтобы прочитать калибровочный байт, нужно читать раздел «Self-programming and Boot Loader Support»?

Последний вопрос, конечно, риторический )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам больше заняться не чем, кроме как адреса и смещения высчитывать? Производители чипов и компиляторов специально для вас написали хидеры с символьными определениями всех регистров - пользуйтесь!

 

О риторическом. Эмбеддерский скилл на половину состоит из умения правильно контролэфать. К слову, я никогда в жизни не программировал XMega, но скачать даташит и найти в нём RCOSC и вторым проходом Production Signature Row это что-то около 5 минут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...