Как изменить назначение контактов для LUFA AVRISPMkII?

Мне только что удалось заставить клон LUFA AVRISP от Dean Camera работать на моем Arduino Pro Micro, когда, к моему ужасу, я обнаружил, что для использования PDI для моего XMega мне нужно, чтобы PD5 был открыт для источника тактового сигнала! Pro Micro имеет PD5, подключенный к светодиоду, поэтому мне нелегко его использовать.

В худшем случае я могу выпаять светодиод и подключить перемычку, но это будет головная боль. Поэтому мне интересно, знает ли кто-нибудь из вас, могу ли я изменить назначение контактов часов с PD5 на PD6 или какой-либо другой доступный контакт. Заранее спасибо за помощь!

--[[ РЕДАКТИРОВАНИЕ ]]-- Извините за отсутствие ясности, я использую Pro Micro в качестве программатора, а клон AVRISP поддерживает PDI для XMEGA. 32u4 на самом деле напрямую поддерживается прошивкой программатора. Вот что я делаю:

--[[ ПРАВКИ II ]]-- Есть схема.. ммм.. отрисовка? Я не знаю, но в любом случае катоды D1 и D3 НЕ подключены. Этот провод - ошибка.

схема

, 👍0

Обсуждение

Эм, модератор? Я не знаю, действительно ли это относится к ардуино. Я не использую какое-либо программное обеспечение Arduino или что-то в этом роде, а больше отношусь к общему программированию AVR..., @KilowattLaser

Упоминание Arduino в вопросах AVR по электронике.SE похоже на пометку вопроса C тегом C++ в SO. Люди будут обращать внимание на соответствующий артефакт, а не на сам вопрос., @Dmitry Grigoryev

Хорошо, я запомню это, @KilowattLaser

Обратите внимание, что вы также можете поднять свой вопрос на [meta](http://meta.electronics.stackexchange.com), если считаете, что миграцию следует отменить. Я сомневаюсь, что оставив свой вопрос на arduino.SE, вы получите ответы, в то время как у вас есть хотя бы один на EE., @Dmitry Grigoryev

У вас есть доступ к исходному коду? Я не могу найти его. Только файлы .hex. Если предоставлен только шестнадцатеричный код, будет непросто изменить сопоставление выводов в коде. Это потребует декомпиляции шестнадцатеричного кода и т. д. Я не вижу ничего особенного в контакте PB5, поэтому изменение кода на PB6, скорее всего, будет возможно (при условии, что у вас есть код)., @Gerben

У меня есть исходный код (он должен быть собран из исходников для этого процессора). Думаю, я просто буду искать его, пока не найду назначение контактов :), @KilowattLaser


3 ответа


Лучший ответ:

1

Я нашел ответ в файлах Doxygen. Мне пришлось перейти к AppConfig.h в разделе Config в корневом каталоге проекта и отредактировать AUX_LINE_MASK, чтобы изменить пин. Спасибо всем, кто помог!

,

0

Можете ли вы рассказать подробнее о своей проблеме? Схемы или что-то в этом роде?

Как видно из здесь, в Arduino Pro Micro используется чип ATmega32u4, который не является частью семейства XMega, поэтому Я не уверен, что их внутренности совместимы. В любом случае, если вы настроите PD5 как вход для ваших часов, он будет работать как вход, так как это контакт GPIO (DDRD &= ~(1<<PIN5)). У вас просто дополнительно будет мигать светодиод :). Вы также можете настроить PD6 в качестве входа таким же образом (DDRD &= ~(1<<PIN6)).

,

0

на всякий случай, если кто-то еще пытается использовать Pro Micro в качестве импровизированного программатора PDI с прошивкой AVRISPMKII, включенной в библиотеку LUFA: вопреки тому, что, как утверждает OP, было достигнуто путем редактирования AppConfig.h, НЕЛЬЗЯ переназначить вывод XCK на устройствах ATMEGA (по крайней мере, насколько мне известно). Я могу только догадываться, почему он сделал это заявление (возможно, он перепутал XMEGA/ATMEGA и, следовательно, ISP/PDI). Я не хочу винить ОП, но его пост на минуту поставил меня и других в тупик, жаль, что такого простого решения не существует. :(

Функция XCK жестко связана с выводом, в данном случае (ATMEGA32U4) PD5. Код LUFA использует передатчик USART ATMEGA, настроенный для синхронной работы, поэтому для передачи данных на целевое устройство должен быть предоставлен тактовый сигнал. Вот почему необходимо использовать XCK, и другого пути нет, по крайней мере, с LUFA. Вызов, который включает цель PDI, не имеет ничего общего с определением AUX_LINE в AppConfig.h

Единственный способ использования платы Pro Micro — это либо припаять провод к контакту XCK, либо приложить провод к нему (если вы можете удерживать его неподвижно в течение нескольких секунд, не соскальзывая). Таким образом, если вам нужен самодельный программатор PDI, который не требует пайки, приобретите Teensy 2.0 или что-то еще, что выводит PD5 в качестве контакта GPIO.

,