Цитата(grigorybold @ Jul 13 2006, 08:21)

Здравствуйте, господа разработчики.
У кого есть опыт чтения карт CompactFlash ARM-ом? Расскажите, какая скорость была достигнута на каком процессоре, через какой интерфейс, разрядность шины (8/16 бит). Вообщем буду благодарен за любую информацию на эту тему. Текже интересуют и SD/MMC.
Скорость CF зависит от многих факторов:
- способа подключения - TrueIDE, I/O, Memory;
- разрядности и скорости использованной шины - насколько быстро можно выполнять единичные транзакции чтения-записи байта/слова;
- быстродействия самой карточки;
Мой практический опыт использования CF в комплекте с XScale:
- подключение в режиме TrueIDE
- через 16-битную внешнюю шину с тактовой 66МГц (позволяет настроиться на максимально быстрый режим PIO4 - 120 нс цикл)
Реально полученная пиковая скорость - 10-11МБ/с, на нее влияет собственно синхронизация внешней шины с внутренней AHB процессора, а также способы кеширования (поскольку процессор может кешировать указанное адресное пространство - в этом случае при чтении обмен идет пакетами размером со строку кеша)
Средняя скорость на чтение- 1-8 МБ/с - зависит от самой карточки, и способа чтения. Также влияет способ чтения - по одному/несколько секторов, команды READ/READ MULTIPLE. Например, древняя CF32MB при чтении по одному сектору дала скорость всего 1МБ/с. При чтении 16-секторными блоками - около 3 МБс, более новые карточки при чтении 16-секторными блоками достигали 8 МБ/с. С записью ситуация похуже - на моих картах была в 2-4 раза медленее чтения.
Это был режим TrueIDE, возможно в режиме Memory ситуация получше.
При использовании MMC версий до 3.2- физически скорость ограничена 20Мбит/сек, SD - 4x25 Мбит/сек
И также влияют те же самые факторы - чтение посекторно или блоками, и насколько долго карта "думает" после получения команды. Максимум, что мне удалось достичь на Samsung 2410 для MMC - чтение в среднем 1.5МБ/сек, запись 0.8МБ/сек. SD - чтение в среднем 6 Мбайт/сек, запись - 2МБайт/сек. Обе карточки были трех-четырех летней давности, новые карты могут быть побыстрее.