‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

worklog: прикрутил простейший алгоритм кэширования

Теперь чтение и запись флэшки идут через буфер размером в один физический сектор.
Алгоритм не универсален и совершенно точно будет тупить, если запись вдруг перескочит через границу сектора, но в нормальных условиях такое происходить не должно, ибо в физический сектор 4096 байт прекрасно укладываются логические сектора файловой системы (512, 1024, 2048, 4096 байт - всё чётко).

Под кэш отъедено аж 4 кБ системного ОЗУ, коего всего-то 64 килобайта (и 2кБ уже ушло на стэк). Наверное, в будущем, память на плате с ПЛИСкой можно будет заюзать под эти нужды. Или... ну, не знаю... память внутри видеоконтроллера (там её больше мега, из которых использовано от силы килобайт 400). Изврат, но тёплый и ламповый. Сразу вспоминаются времена DOS - то была эпоха. "INT 21H" и всё такое :)

А выигрыш простой: если раньше скорость записи была от силы 9.5 кБ/с, то щас 60..70 кБ/с, что заметно комфортнее (учитывая скромные объём флешки). Скорость чтения вообще упёрлась в скорость USB Full-speed.

Результатами удовлетворён.

Теперь пора прикручивать FatFs уже к самому контроллеру. Надо только разобраться, где в хитросплетениях библиотеки USB MSC спрятан код её отключения, дабы не вызывать конфликты файловой системы.
Tags: радио
Subscribe

  • Буквально вчера

    Обратите внимание на то, что если мысленно продолжить деревья выше, то они все пересекутся в одной точке. Это - однозначный признак дешёвой…

  • Лосиный остров.

    Рельсы (заброшенная ветка, где-то примерно там я начал путешествие): Малина: ХЗЧТ, чем-то похоже на смородину (?): как картина Шишкина,…

  • Фотографии без сюжета.

    Давеча повстречал в лесу Йожа. На фото его увидеть сложно, но всё-таки можно: Кем-то раздавленная улитка. Ещё живая и пытается ползти. Надеюсь,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments