Все запутанней на самом деле чем мне кажется вы думает.
Host как его понимают юзеры на самом деле состоит как минимум из 3-4 слоев.
1. Физический программный драйвер к USB интерфейсу
2. USB host стек
3. Драйвер контрольного канала.
4. Драйвер класса устройств для хоста
Как выполнен 1-й уровень сильно зависит от того применяете ли вы операционную систему и какую или нет.
Обычно фирмы изготовители чипов типа LPC дают физический драйвер не использующий операционку.
Но вот 2-й уровень в исходниках можно найти только работающий совместно с операционкой, обычно Linux. Т.е. сразу тупик.
Физический драйвер займет не более пары килобайт, оперативной вообще почти не надо.
USB host вообщем тоже достаточно несложен, за месяца 3-и написать можно если уже досконально знать механизм работы.
С драйверами классов уже сложнее, там гораздо больше может быть функций и команд и расход памяти трудно прогнозировать.
Классы это - MassStorage (диск), Modem Communications Class Driver , HID и т.д.
Для драйвера MassStorage (дисков) все еще хуже, поверх него надо еще иметь саму файловую систему соответствующую системе на Flash накопителе.
Но хуже всего с драйверами контрольного канала, все дешевые USB побрякушки которые еще не устарели сделаны на глубоко засекреченных чипах, для которых нет никакой информации как они управляются по контрольному каналу. Дока на них даже под NDA может не даваться.
Вот тут полный ступор.
Если с USB Flash особо ничего знать не надо и можно реализовать чтение по открытой документации, то например к какому-нибудь USB Wi-FI адаптеру подключиться без шансов.
Выход только ковырять бинарные драйверы.
В общем случае для достаточно универсального hosta с учетом операционки ресурсов LPC на пределе.
Цитата(Ivan_Kov @ Sep 14 2007, 11:12)

Стоит перспективная задача поднять USB host на микроконтроллере lpc24xx. Будет необходимо работать с устройствами хранения данных и с коммуникационными устройствами (думаю дело ограничется USB флешками и модемами).
Интересуют такие вопросы:
1) Хочется оценить примерную трудоемкость разработки.
2) Влезет ли все это во внутреннюю флешь(512Кб) ?
3) Какие имеются легкие ОС или библиотеки (желательно open source) поддерживающие работу USB host?
4) Какие книжки хорошие есть по USB?