ex-teck 0 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба Здравствуйте. Вопрос такой - кто может поделиться примером работы USB 2.0 на процессоре С674x? Может для какого-н другого процессора, тоже подойдет. Заранее спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба Здравствуйте. Вопрос такой - кто может поделиться примером работы USB 2.0 на процессоре С674x? Может для какого-н другого процессора, тоже подойдет. Заранее спасибо! Ага, а мне для AM1707. Там USB - движки очень похожи. Но нет такого примера. Есть Linux с исходными текстами, причем реально работающий, я проверял. Но вот выдрать оттуда только USB - та еще задачка ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 6 10 октября, 2011 Опубликовано 10 октября, 2011 · Жалоба Может положите сюда кусок драйвера, где отправка пакета и обмен с FIFO реализованы, подсмотреть бы, как правильно. А то есть предположение, что у нас отправляется не то количество байт, что хочется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Отправка в control endpoint: u32 WriteEP0() { u8 *s; u32 n = MIN(ep0setup.f.len, EP0_FIFO_SIZE); ep0setup.f.len -= n; if (!((int)ep0ptr & 3)) for (; n >= 4; n -= 4) USB0.FIFO[0] = *ep0ptr++; for (s = (u8 *)ep0ptr; n; n--) *(u8 *)&USB0.FIFO[0] = *s++; ep0ptr = (u32 *)s; return (ep0setup.f.len) ? 1 << CSR0_TXPKTRDY: 1 << CSR0_TXPKTRDY | 1 << CSR0_DATAEND; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ex-teck 0 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Неужели нет готовых функций для работы с USB? Может кто-нибудь находил все-таки? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба По-крайней мере для L137/L138 - есть Jungo USB stack. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 6 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Спасибо, попробуем. А на Jungo все ругаются, что работает с горем пополам только на TI плате, а при попытке запустить на чем-то еще - шишь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di-sk 0 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Ага, а мне для AM1707. Там USB - движки очень похожи. Но нет такого примера. Есть Linux с исходными текстами, причем реально работающий, я проверял. Но вот выдрать оттуда только USB - та еще задачка ... Пробую поднять USB0 на 6745! Сплошные проблемы! В fifo я пишу аналогично, но все равно прерывания прекращаются на SET_ADDRESS. Не могли бы вы скинуть весь USB драйвер из линукса, или хотя сказать что это за линукс. Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Не могли бы вы скинуть весь USB драйвер из линукса, или хотя сказать что это за линукс. Спасибо Я из-за этих проблем ушел на STM32F207 и решил задачу на нем. но все равно на TI посматриваю. Хуже всего то, что по их документации невозможно поднять USB, поскольку она не полна. Зачитал я ее до дырок, но она все же не содержит всей необходимой информации. Вот, Linux я качал отсюда: http://software-dl.ti.com/dsps/dsps_public.../index_FDS.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di-sk 0 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Я из-за этих проблем ушел на STM32F207 и решил задачу на нем. но все равно на TI посматриваю. Хуже всего то, что по их документации невозможно поднять USB, поскольку она не полна. Зачитал я ее до дырок, но она все же не содержит всей необходимой информации. Вот, Linux я качал отсюда: http://software-dl.ti.com/dsps/dsps_public.../index_FDS.html Я так понимаю, там надо запрос отправлять, и только потом ссылка приедет по емейлу? Я то, что документации никакая, я уже понял. Народ примеры просит e2e.ti.com очень активно. Насколько я понял это USB модуль Integra. Такой же как и в DaVinci. Вот тут тоже есть http://gitorious.org/linux-davinci/linux-d...ter/drivers/usb Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Я так понимаю, там надо запрос отправлять, и только потом ссылка приедет по емейлу? Я то, что документации никакая, я уже понял. Народ примеры просит e2e.ti.com очень активно. Насколько я понял это USB модуль Integra. Такой же как и в DaVinci. Вот тут тоже есть http://gitorious.org/linux-davinci/linux-d...ter/drivers/usb Не помню, там, кажись, регистрироваться надо. Я у них зарегистрирован, посему могу скачать эти файлы. А за ссылку спасибо, гляну ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Я из-за этих проблем ушел на STM32F207 и решил задачу на нем. но все равно на TI посматриваю. Хуже всего то, что по их документации невозможно поднять USB, поскольку она не полна. Зачитал я ее до дырок, но она все же не содержит всей необходимой информации. Хм... Надо было наверно ещё раз до дырок зачитать :) Я написал свой USB-device-стек на L137 пользуясь исключительно SPRUFM9H и примером USB-device-стека от NXP для LPC2378. Правда USB1.1, но больше и не нужно. Реализовать обмен через control-endpoint там сравнительно просто - нужно всего десяток регистров. Дальше берете любой пример стека для другого проца, переписываете уровень взаимодействия с аппаратурой и всё. Заняло буквально пару недель. По крайней мере без DMA, работа с USB там не сложнее работы с SPI. Ну конечно нужно более-менее знать как работает USB в целом. Пример инициализации USB есть в SPRUFM9H. Сначала тоже пытался выдирать что-то из Linux, но понял что гиблое это дело :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 11 октября, 2011 Опубликовано 11 октября, 2011 (изменено) · Жалоба Я написал свой USB-device-стек на L137 пользуясь исключительно SPRUFM9H и примером USB-device-стека от NXP для LPC2378. Не видел этого документа. Спасибо, почитаю ... Изменено 11 октября, 2011 пользователем kovigor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di-sk 0 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Хм... Надо было наверно ещё раз до дырок зачитать :) Я написал свой USB-device-стек на L137 пользуясь исключительно SPRUFM9H и примером USB-device-стека от NXP для LPC2378. Правда USB1.1, но больше и не нужно. Реализовать обмен через control-endpoint там сравнительно просто - нужно всего десяток регистров. Дальше берете любой пример стека для другого проца, переписываете уровень взаимодействия с аппаратурой и всё. Заняло буквально пару недель. По крайней мере без DMA, работа с USB там не сложнее работы с SPI. Ну конечно нужно более-менее знать как работает USB в целом. Пример инициализации USB есть в SPRUFM9H. Сначала тоже пытался выдирать что-то из Linux, но понял что гиблое это дело :) Я так подозреваю, что настроить USB1 модуль несколько проще, нежели USB0. Мне, конечно, full speed хватит, но в 6745 модуль USB1 отсутсвует! Не видел этого документа. Спасибо, почитаю ... Читал я его, там про USB0 мало что в подробностях написано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 11 октября, 2011 Опубликовано 11 октября, 2011 · Жалоба Я так подозреваю, что настроить USB1 модуль несколько проще, нежели USB0. Мне, конечно, full speed хватит, но в 6745 модуль USB1 отсутсвует! Может и проще, не знаю - не пробовал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться