Кому-нибудь удовалось разогнать MassStorage на AT91sam7s64 быстрее 2 000 000 бит в секунду? Читаю данные с SD карточки в контроллер, а из него в компьютер. Время чтения сектора - 1.6мС из них на само чтение с карточки - 0.2мС. Т.е. Обработка внутри протокола MSD чудовищно тормозит.
Код скомпилирован в ARM режиме -O2 WinARM и находится целиком во флэш . Перенос отдельных функций в ОЗУ не даёт никаких результатов вообще.
Думаю алгоритм не успевает всунуть данные в каждый строб USB, а лишь в каждый шестой успевает и потому скорость жёстко стоит на 2Мб и ни туда ни сюда.
Есть ли идеи как изменить MSD17 или какие функции перенести в озу для ускорения хоть чуть-чуть?
|