Pull to refresh

Comments 7

У проекта flashrom тоже есть подобная база, хоть и не настолько подробная.
Отдельной колонкой добавил бы наличие\отсутствие поддержки SFDP, потому что с микросхем без таковой большинство современных компьютеров загрузиться не смогут, даже если по всем остальным параметрам чип подходит.

Добавил! (Замучался повторно все даташиты просматривать...)

Спасибо большое, буду пользоваться.

Да, это нужная информация. Постараюсь.

Отличная работа, будет полезно. А может ее в гуглдоки залить, в обычном табличном формате? Чтобы люди могли добавлять и тд

Тогда смысл в ней потеряется, поскольку обновления таблицы автоматом отражаются в файлах для программаторов.

У меня кроме народного программатора CH341A, есть еще девайс SUCCESSOR Вертьянова, он конечно не только для SPI но его тоже умеет, там формат базы данных такой

//Winbond
[EF3010] NAME=W25X05 FLASH_SIZE=64KB VCC=3v3
[EF3011] NAME=W25X10 FLASH_SIZE=1Mbit VCC=3v3
[EF3012] NAME=W25X20 FLASH_SIZE=2Mbit VCC=3v3

На вид бедно, но там еще всякие опции есть:

Hidden text

19/05/2022
Этот файл (SPI database.txt) должен находиться в одной папке с программой.
В режиме SPI FLASH:

  • Производится поиск в этом файле на совпадение ID. При сопадении - параметры запоминаются.

  • Анализируется наличие регистра SFDP во flash spi. При сопадении - параметры запоминаются.

  • Если в этом файле ID flash не найден, то ID всегда сохраняется в файл Unknown_SPI_ID.txt и при наличии во flash регистра SFDP, его дамп так-же сохраняется в файл для анализа. Если файл Unknown_SPI_ID.txt отсутствует в папке с программой, то он создается. Если ID flash уже есть в файле, то не дублируем.

  • В этом файле нет необходимости вписывать все возможные м/сх. У многих м/сх уже есть регистр SFDP из которого можно взять все необходимые параметры для чтения/стирания/записи. Однако, если м/сх определяется (отдает ID) и на 1v8 и на 3v3, а при этом заявлена ее работа на 3v3, то чтобы программатор корректно выставлял ей питание и не было ошибок стирания/записи (на 1v8 например), то такую м/сх так-же нужно добавить сюда и указать ей верное VCC=3v3. В этом файле уже есть м/сх у которых присутствует SFDP, но именно по этой причине они так-же тут в списках.

При детекте SPI flash программатором, хитрым методом определяется её питание (1v8 или 3v3).
На данный момент, параметр VCC, в настройках ниже, носит чисто информативный характер и ни на что не влияет.
После определения ID (не равен FFFFFFh и не равен 000000h) проверяется наличие регистра SFDP во flash.
Приоритетно, значения для работы программы (параметры) берутся из этого файла. Если записи по этому ID нет, то из SFDP регистра flash.
Если нет ни SFDP, ни данных по ID в этом файле, то предлагается перейти в ручной режим и указать необходимые настройки.

Частота работы с flash если есть запись этого ID в этом файле - значение параметра SCLK
Частота работы с flash если есть SFDP регистр устанавливается в 20 Mhz.
Частота работы с flash в ручном режиме устанавливается в 15 Mhz.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
По умолчанию применяются настройки (99% всех SPI) и их можно не указывать в параметрах:
SCLK = 20
WR_PAGE = 256
BLOCK_ERASE_COMM = D8h
BLOCK_SIZE = 65536
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Если хотите изменить данный параметр для конкретной flash, то пишете его с новым значением.
Для примера, подовляющее большинство spi flash можно описать, используя лишь некоторые парметры
[123456] NAME=W25Q64FW FLASH_SIZE=64Mbit VCC=1v8
но можно записать и в полном виде
[123456] NAME=W25Q64FW FLASH_SIZE=64Mbit VCC=1v8 SCLK=20 WR_PAGE=256 BLOCK_ERASE_COMM=D8h BLOCK_SIZE=65536
Один ID [обязательно в скобках] - одна строка настроек в этом файле.

Sign up to leave a comment.

Articles