Diusha 0 10 октября, 2017 Опубликовано 10 октября, 2017 · Жалоба Давно работаю с мегами. Решил вот на хмеги перейти. Смотрю в ДШ – спагетти. Явно писали не те писатели, что для мег нормальные портянки писали. Ну да ладно, сейчас не об этом. По существу. Вот дурацкая система (извините, опять эмоции) адреса регистров писать +0х00, +0х01, ... . А вот к чему это приплюсовывать-то? Ну для некоторых регистров нашел. А вот, в частности, для RCOSC2M не могу найти в ДШ ни на XMEGA-AU ни на конкретно ATXmega64A3U. Подскажите, пожалуйста, где такое искать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prottoss 0 10 октября, 2017 Опубликовано 10 октября, 2017 · Жалоба Давно работаю с мегами. Решил вот на хмеги перейти. Смотрю в ДШ – спагетти. Явно писали не те писатели, что для мег нормальные портянки писали. Ну да ладно, сейчас не об этом. По существу. Вот дурацкая система (извините, опять эмоции) адреса регистров писать +0х00, +0х01, ... . А вот к чему это приплюсовывать-то? Ну для некоторых регистров нашел. А вот, в частности, для RCOSC2M не могу найти в ДШ ни на XMEGA-AU ни на конкретно ATXmega64A3U. Подскажите, пожалуйста, где такое искать? 4.23 Register Summary - Production Signature Row Система не дурацкая, а приспособленная для того, чтобы удобно было создавать программы на С/С++. Сейчас практически у всех МК, в документации такая система отсчета. Чтобы не выглядеть дураком, обзывая систему дурацкой, курите внимательно мануалы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Diusha 0 10 октября, 2017 Опубликовано 10 октября, 2017 · Жалоба 4.23 Register Summary - Production Signature Row И? Адрес-то где? Чтобы не выглядеть дураком, обзывая других дураками, курите внимательно вопрос, на который пытаетесь ответить. А система была бы не дурацкой, если бы было написано, напимер, ABC+0x01 и эту ABC можно было бы легко найти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 10 октября, 2017 Опубликовано 10 октября, 2017 · Жалоба Они не отображаются на память. Их надо вычитывать через 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Diusha 0 10 октября, 2017 Опубликовано 10 октября, 2017 · Жалоба Спасибо, 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»? Последний вопрос, конечно, риторический ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 11 октября, 2017 Опубликовано 11 октября, 2017 · Жалоба Вам больше заняться не чем, кроме как адреса и смещения высчитывать? Производители чипов и компиляторов специально для вас написали хидеры с символьными определениями всех регистров - пользуйтесь! О риторическом. Эмбеддерский скилл на половину состоит из умения правильно контролэфать. К слову, я никогда в жизни не программировал XMega, но скачать даташит и найти в нём RCOSC и вторым проходом Production Signature Row это что-то около 5 минут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться