Цитата(ViKo @ Jun 19 2015, 03:11)

И то, что на Figure 400 слева показано - это номера (индексы) 8-битовых элементов таблицы? 00-01 - ADDR0_TX, 02-03 - COUNT0-TX, и т.д.
Таблица в буферной памяти - это информация для контроллера USB, поэтому там все адреса есть адреса относительно начала буферной памяти. Не исключено, что на самом деле доступ к этой памяти производится только словами, а в буферной памяти эти адреса хранятся сдвинутыми на один бит, "для удобства". Впрочем нам это не видно, а потому не важно.
Цитата
А реальные адреса, видимые процессором, для 1x16 bits/word: 00-01, 04-05, для 2x16 bits/word: 00-01, 02-03. Так?
ага. Собственно, есть простая формула (даже две формулы, для разных реализаций) для преобразования адресов в буферной памяти в адреса на шине процессора, а вся остальная писанина - применение этих формул к конкретному случаю доступа к тому или иному параметру.
Цитата
Регистр BTABLE задает адрес таблицы распределения памяти буферов конечных точек. И находится эта таблица сама внутри этой же памяти. Спрашивается, зачем ее не сделали по фиксированному адресу, например, в начале этой памяти?
Ну, например, чтобы можно было иметь две таблицы и быстро переключаться между ними при смене конфигурации.
Есть и проще объяснение, взяли готовый IP-модуль контроллера, да прикрутили по-быстрому.
По моему опыту - такие заумные описания железа появляются в результате стратегической ошибки: разработчики железа без злого умысла рассказывают "писателю" как оно всё устроено с подробностями, а уж потом он что понял переносит на бумагу.
В результате имеем массу не нужных программисту подробностей об аппаратной реализации, да ещё и пропущенных через "популяризационный фильтр".
Russia est omnis divisa in partes octo.