AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
05.08.2017, 02:22
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
Zork, симптоматика указывает на проблемы с USB на конкретном компьютере.
Подключаемый hub с внешним питанием или нет?
Это один порт или несколько?
Собственно если через hub оно работает смысла искать сразу везде мало.
Для начала стоит таки проверить уровни и наличие шумов на D+/D- осциллографом.
Встречались проблемы с обвязкой после разъёма на материнской плате. Некоторые были очень похожи.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
11.08.2017, 19:36
|
|
Временная регистрация
Регистрация: 10.03.2017
Сообщений: 69
Сказал спасибо: 77
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
Здравствуйте,принимая во внимание Ваши рекомендации,и почитав теорию,решил
что наиболее подходящим для меня вариантом будет поэтапная прошивка МК:
сначала прошиваю оригинальной прошивкой примера,определяю скорость и
если необходимо вношу изменения,как это сделать я вроде бы понял.
Ну а затем добовляю переферию,переделываю дескрипторы и т. д.
В связи с этим вопрос:если я использую оригинальную прошивку нужно ли
выставлять фьюзы,вопрос исходит из моего скудного опыта:один раз я
прошивал восьмую Мегу прогаммой Pony Prog,так там в процессе прошивки
нужно было выставлять фьюзы.
Из изучения мануала к доске понял тлько,что The*lockbits*are*not*set,
да и они вроде бы не нужны.
Мое железо: https://www.mattairtech.com/docs/MT-...User_Guide.pdf
Программатор: Flip 3.4.7
|
|
|
|
11.08.2017, 22:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
Сообщение от alex 54
|
если я использую оригинальную прошивку нужно ли выставлять фьюзы
|
Фьюзы определяют режим работы микроконтроллера: - источник тактирования (внутренний RC генератор, керамический резонатор, кварцевый резонатор, внешний источник тактирования)
- время запуска микроконтроллера (зависит от времени стабилизации напряжения питания)
- использование или нет супервизора питания (автоматический сброс при понижении напряжения ниже определённого уровня)
- иногда режим совместимости с предшественником
- задействование или нет интерфейса JTAG
- использование ноги RESET в качестве порта ввода-вывода
- конфигурирование загрузчика
- задействование сторожевого таймера (watch dog)
- установка защиты (на чтение, на запись)
- сохранение содержимого EEPROM при стирании кристалла
Это общие сведения. В каждом контроллере свой набор фьюзов. Это надо смотреть на описание конкретного контроллера.
Фьюзы при стирании кристалла не меняются. То есть, достаточно один раз запрограммировать фьюзы.
Фьюзы выставляются исходя из требований к железу и программе (например, установлен кварцевый генеатор на определённую частоту и включен сторожевой таймер).
Каждая программа-прошивальщик работает в соответствии с её настройками. Например, я могу в своей программе поставить, что при каждом прошивании будут прошиваться фьюзы.
При отладке, естесственно, каждый раз трогать фьюзы не нужно. Достаточно их один раз правильно запрограммировать и всё. В конце, когда программа будет отлажена, можно прошить фьюз, запрещающий считывание и изменение прошивки.
|
|
|
Сказали "Спасибо" Godzilla82
|
|
|
12.08.2017, 16:37
|
|
Временная регистрация
Регистрация: 10.03.2017
Сообщений: 69
Сказал спасибо: 77
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
Значит последовательнсть такая:
Сначала установить фьюзы сверившись с даташитом на МК и исходя из требований
проекта,а затем уже прошивать?
И еще:я делаю проект в Atmel Studio 7.0,есть какая то информация по установке
фьюзов через этот компилятор,гуглил несколько часов ничего не нашел.
|
|
|
|
13.08.2017, 02:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
Сообщение от alex 54
|
есть какая то информация по установке
фьюзов через этот компилятор
|
Фьюзы к компилятору в общем случае никакого отношения не имеют. Результатом компилятра является прошивка (HEX-файл), то есть, содержимое памяти.
В HEX-файле нет информации о фьюзах.
Фьюзы - это относится к настройкам программатора.
Я не работал с 7-й студией. Скорее всего, в настройки проекта входят и настойки программатора.
В любом случае, для вас достаточно задействовать только внешний кварцевый резонатор.
|
|
|
|
14.08.2017, 22:18
|
|
Временная регистрация
Регистрация: 10.03.2017
Сообщений: 69
Сказал спасибо: 77
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
Сообщение от Godzilla82
|
для вас достаточно задействовать только внешний кварцевый резонатор.
|
Здравствуйте,по поводу кварцевого резонатора:я изложу ситуацию как я ее вижу а Вы по возможности подкорректируете.
Мой программатор (утилита) Flip не может модифицировать биты фьюзов.
С другой стороны он рекомендован для моей доски:
https://www.mattairtech.com/docs/MT-...User_Guide.pdf
На самой доске установлено два кварца:16 мгц и 32.768 кгц с перемычками:
http://my-files.ru/tlm0ve
32.768 кгц это на часы,мне он вроде не понадобится,а вот 16 мгц,это то,что мне нужно,им через PLL можно тактировать модули МК,в моем проекте я планирую тактировать таким образом таймеры-счетчики(кстати это тактирование делается уже в компиляторе,правильно?)
В даташите доски про установку фьюзов нуль информации.
В окне программатора указаны лишь signature bytes:
http://my-files.ru/f50fez
Как Вы считаете,возможен вариант,что биты фьюзов на кварцы уже установлены и достаточно поставить перемычки?
А то получается как то нелогично:доска с рекомендованным программатором,а на установку фьюзов нужен еще дополнительный программатор.
В даташите еще прописана следующая информация:
Fuse*and*Lock*Settings
The*bootloaders*were*pre*installed*with*the*follow ing*commands*(ATxmega128a3u*shown):
avrdude**p*x128a3u**c*avrisp2**P*usb**e
avrdude**p*x128a3u**c*avrisp2**P*usb**U*fuse0:w:0x FF:m**U*fuse1:w:0x00:m**U*fuse2:w:0xBF:m**U*fuse4: w:0xFE:m**U*
fuse5:w:0xFF:m
avrdude**p*x128a3u**c*avrisp2**P*usb**U*flash:w:"M T*DB*X3*128a3u_104.hex"
The*Blink*program*was*pre*installed*with*the*follo wing*commands*(ATxmega128a3u*shown):
dfu*programmer*atxmega128a3u*flash*Blink_128a3u.he x
dfu*programmer*atxmega128a3u*reset
The*lockbits*are*not*set.
Но что это значит пока не соображу.
Последний раз редактировалось alex 54; 16.08.2017 в 00:16.
|
|
|
|
16.08.2017, 01:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
Сообщение от alex 54
|
Как Вы считаете,возможен вариант,что биты фьюзов на кварцы уже установлены и достаточно поставить перемычки?
|
Очень даже возможен.
Сообщение от alex 54
|
А то получается как то нелогично:доска с рекомендованным программатором,а на установку фьюзов нужен еще дополнительный программатор.
|
Нелогично - это когда программатор не умеет программировать фьюзы. Нахрен кому нужен такой программатор.
Сообщение от alex 54
|
Но что это значит пока не соображу.
|
Тут говорится, какими командами (программами с параметрами командной строки) был прошит бутлоадер и программа-мигалка.
В частности:
fuse0: 0xFF
fuse1: 0x00
fuse2: 0xBF
fuse4: 0xFE
fuse5: 0xFF
Я не работал с x-мегами. В документации (на МК и на avrdude) должно быть указано, что это за байты fuse1 .. fuse5.
И какие биты в этих байтах соответствуют каким фьюзам.
Бутлоадер позволяет прошить контроллер, подключённый к компьютеру по USB, без программатора.
P.S. Про байты фьюзов написано в XMEGA AU [MANUAL] раздел 4.16 Register Descriptions – Fuses and Lock bits
Последний раз редактировалось Godzilla82; 16.08.2017 в 01:55.
|
|
|
Сказали "Спасибо" Godzilla82
|
|
|
27.08.2017, 22:30
|
|
Временная регистрация
Регистрация: 10.03.2017
Сообщений: 69
Сказал спасибо: 77
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
Здравствуйте,еще раз "rtfm",(эта крылатая фраза оказалась очень актуальна)и накопал следующую информацию.
Цитата:
По сравнению с семьей Atmega, в микроконтроллерах Xmega задание частоты тактирования задается не Fuse битами, а программно.
Ссылка:
http://reason89.ru/2015/01/xmega_23.html
Т.е.я могу прошить свой МК исходным примером,тактирование в нем уже заложено программно.
В связи с этим вопрос:
Я планирую использовать пример на доске STK 600 с МК ATxmega256A3BU.
Моя доска MT-DB-X3 с этим же МК.
Насколько я вычитал,для того,чтобы реализовать этот пример на другой доске,
в файле main C нужно выкинуть функцию board_init();
#if !SAM0
sysclk_init();
qdec_init();
board_init();-------выкинуть
И после этого прошивку можно заливать в мою доску.
Подскажите пожалуйста,так это или нет,достаточно ли этого изменения?
|
|
|
|
28.08.2017, 00:27
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
alex 54, ничего не подскажу по данному семейству, но логика работы любой прошивки не меняется.
Сначала идёт инициализация требуемого - генераторы, таймеры, wdt, ноги, интерфейсы, обработчики,… потом уже наступает черёд и самого алгоритма прошивки.
Список конкретных операций и их последовательность в совокупности документации (rtfm ). Тут читать и читать, с перерывами на усвоение прочитанного на практике.
Обычно на этом пути многие вопросы сами собой отпадают…
А вот в узких или совсем непонятных местах нужно задавать вопросы.
Попытка получить ответ в начале пути только делает Вам же хуже - результат воспринимается как систематизированное знание, но много вопросов остаётся в стороне. Пока у Вас более правильная модель движения - не останавливайтесь на пути чтения и экспериментов. Упретесь - пробуйте сначала читать ещё и только потом спрашивайте. Через некоторое время сами поймёте что время на чтение не зря потеряно было .
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
Сказали "Спасибо" mike-y-k
|
|
|
02.09.2017, 02:57
|
|
Временная регистрация
Регистрация: 10.03.2017
Сообщений: 69
Сказал спасибо: 77
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: USB HID.Помогите разобраться с дескрипторами.
Здравствуйте,усиленно rtfm,сообразил следующее:
Переферия примера,которую включает функция board_init(),естественно не стыкуется с моей доской,и поскольку я все равно собирался ее менять,для меня видится оптимальным следующий
порядок работы:
1.Удаляю функцию board_init()из примера.
2.Заливаю прошивку без этой функции в мою доску,проверяю ее работоспособность.
3.Опять таки по результатам rtfm выходит,что поскольку инициализация USB
порта происходит отдельно,то по идее я должен увидеть в системе мышь без
осей и кнопок,которые можно добавить позже,уже с привязкой к моей доске.
Вот это и является для меня пресловутым узким местом:вроде все правильно,
как здесь: http://www.inpearls.ru/200097 но будет ли это работать может
сказать только профессионал.
Последний раз редактировалось alex 54; 02.09.2017 в 03:08.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:25.
|
|