Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91SAM7S64 USB HID-устройство, Keil4
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
smk
Простите за наглость, но если кому не жалко. Очень нужен рабочий проект под Keil4 для USB HID на AT91SAM7S64. Стоит задача принимать и осылать массив 512 байт. Устроит проект, который принимает-отсылает хотя бы 16 байт. В идеале проект на основе примера из комплекта компилятора. Ну или подскажите как доработать пример чтобы слать туда-обратно буфер, а не один байт. Сам просмотрел, пробовал править, но не получается пока, а времени не очень много есть. С сайта Атмел тоже скачивал, но он не компилируется. Прошу помочь, буду безмерно благодарен. Спасибо.
kovigor
Могу дать рабочие отлаженные проекты HID - мыши и клавиатуры для AT91SAM9XE512. При желании их легко можно приспособить и для вашего МК. Того, что вы просите, у меня нет. И HID там принципиально не нужен. Нужен CDC. Возьмите готовую FT232BM или ее аналог, получите в системе доп. COM - порт и работайте с ним, как вам будет угодно. Проще все равно не сделаете ...
smk
Скорость не критична. Я думал в пакете из 16 байт передавать номер пакета и значащие байты пока их не наберется 512. Так же обратно. А "легко приспособить" это что имеется ввиду?
kovigor
Цитата(smk @ Jan 30 2012, 17:33) *
Скорость не критична. Я думал в пакете из 16 байт передавать номер пакета и значащие байты пока их не наберется 512. Так же обратно. А "легко приспособить" это что имеется ввиду?


Ну как что ? Нужно будет вникнуть в мой проект (другого способа, увы, нет), разобрать его по косточкам, и понять, что там и как. Скажу сразу, это гораздо проще разбирания кейловского проекта, поскольку эта работа уже проделана мной - я разобрал этот проект, максимально его оптимизировал и упростил и написал русскоязычные комментарии. Потом нужно будет взять HID - спецификацию, разобраться, как сформировать нужные вам REPORT - дескрипторы, сформировать их, кое-что еще по мелочи поправить и залить проект в МК. Это все очень нетривиально, поверьте моему слову. Далее (это вообще завал) вам нужно будет написать ПО (уникальное) для машины для обменаданными с вашим МК. Итого месяца в 3-4 вы влетите. И все это ради того, чтобы убедиться в том, что HID для этого проекта не нужен совершенно, и что его можно было бы реализовать на CDC именно так, как я описал выше, уложившись при этом в неделю или около того ...
smk
Думаю все как-то радужнее. Впрочем, рад любой помощи. kiev.smk@mail.ru если тут не захотите выкладывать.
kovigor
Цитата(smk @ Jan 30 2012, 21:00) *
Думаю все как-то радужнее. Впрочем, рад любой помощи. kiev.smk@mail.ru если тут не захотите выкладывать.


Вы серьезно заблуждаетесь. Особенно если вы в USB новичок. Тогда потребуется еще изучать спецификацию и доп. литературу и вникать в то, как работает шина. Впрочем, дело ваше. Мое дело - предостеречь вас от грубых ошибок.

P.S. Проект выложу или вышлю завтра ...
alexf
Цитата(kovigor @ Jan 30 2012, 06:49) *
Далее (это вообще завал) вам нужно будет написать ПО (уникальное) для машины для обменаданными с вашим МК. Итого месяца в 3-4 вы влетите.


Как раз тем и хорош вариант с HID что не надо писать специального системного драйвера. Есть простые примеры user space program на РС. А на АРМе важно сгенерить правильные дискрипторы.
CDC естественно тоже не требует драивера, но гемор с назначением виртуального порта и он разный при включении устройства в разные USB дырки.

smk
Мне бы кто подсказал что вот это за ошибка у Keil? Причем скачал уже несколько проектов под Keil и везде одно и тоже. Проекты под Keil2 делались, а сейчас в ходу Keil4. Вероятно где-то тут причина, но может кто уже сталкивался и знает? Спасибо.

Код
compiling board_lowlevel.c...
compiling board_memories.c...
assembling board_cstartup_keil.s...
../../../at91lib/boards/at91sam7s-ek/board_cstartup_keil.s(116): warning: A1876W: Use of '|' as a synonym for the :OR: operator is deprecated.
compiling retarget.c...
compiling main.c...
linking...
.\at91sam7s64-flash\at91sam7s64-flash.axf: Error: L6915E: Library reports error: __use_no_semihosting_swi was requested, but _sys_open was referenced
Target not created
kovigor
Цитата(smk @ Jan 31 2012, 09:50) *
Мне бы кто подсказал что вот это за ошибка у Keil? Причем скачал уже несколько проектов под Keil и везде одно и тоже. Проекты под Keil2 делались, а сейчас в ходу Keil4.


Насколько я помню, в Keil2 использовался компилятор CARM, а в Keil4 - RealView. Возможно, прчина в этом ...
smk
Навскидку не подскажите, можно ли одновременно использовать DBGU и оба УСАРТа? Спасибо.
kovigor
Цитата(smk @ Jan 31 2012, 14:17) *
Навскидку не подскажите, можно ли одновременно использовать DBGU и оба УСАРТа? Спасибо.


Насколько я помню, можно. Но совершенно точно не уверен.

P.S. Проекты выслал, проверьте почту.

P.P.S. Еще одно соображение. Если вы делаете этот проект для десктопа, в который можно вставить PCI-ную мультипортовку (с COM - портами на выходе, например, от той же MOXA), то от USB лучше вообще отказаться. Поверьте, выйдет в 100 раз надежнее ...
smk
Спасибо за исходники. Разбираюсь. Использовать порт для дебага оказалось можно т.к. он оформлен отдельным блоком (такая фишка у Атмела). Проект сам простой. USB нужен чтобы задать прибору табличку, собственно она и есть массив из 512 байт. Табличка определяет логику перестановки значений в других массивах. Ну и дополнительно решил использовать USB для просмотра входящих/исходящих пакетов по RS485. От USB HID отказываться не хочу т.к. нужно чтобы работало на чужом компе и без драйверов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.