Кто-нибудь с опытом программирования на линии ColdFire, пожалуйста, помогите!
Я использую стек CMX USB-Lite с ColdFire MCF52259. По какой-то причине перечисление USB не выполняется на самом первом этапе, как только я включаю подтягивающий резистор DP. Вот что я делаю: -
INT_ENB, OTG_INT_EN, ERR_ENB установлены в 0x0
INT_STAT, OTG_INT_STAT и ERR_STAT установлены в 0xff (это должно очистить все прерывания)
В регистре состояния прерывания биты 0 (все маски) и 53 установлены в 0, все остальные равны 1.
Прерывания TOK_DNE, USB_RST и STALL включены в INT_ENB.
Базовый адрес BDT установлен.
MCF_USB_CTL содержит 0x1
ПРОБЛЕМА:
После того как хост выполнит первый сброс (в этот момент я включаю конечную точку управления 0), вместо ожидаемого запроса Get Descriptor я получаю бесконечную серию сбросов. По крайней мере, так это выглядит, потому что прерывание TOK_DNE никогда не срабатывает.
Есть что-то, что я делаю не так?