Еще недавно была моя публикация о программе IMSProg — программаторе для CH341a в Linux, а различные идеи продолжают приходить в голову. Происходит это во многом благодаря вашим комментариям к статье.
Микросхемы энергонезависимой памяти с последовательным интерфейсом SPI NOR FLASH все чаще применяются в различных микропроцессорных и микроконтроллерных устройствах от материнских плат до приставок для приема цифрового телевидения. Не могу сказать, что эта тенденция мне нравится — выход из строя устройств по причине разрушения информации BIOS в связи с применением этого типа микросхем многократно увеличился, но остановить процесс (прогресс?) невозможно.
Существует несколько десятков фирм, изготавливающих SPI NOR FLASH. У каждой из фирм несколько десятков моделей микросхем. То есть общее количество моделей микросхем - уже сотни. При подключении такой микросхемы к программатору, чаще всего, сначала происходит подача на микросхему команды 9Fh, в ответ на которую микросхема отдает программатору несколько байт информации JEDEC ID — уникального числа, первый байт которого является кодом производителя, второй — модификацией микросхемы, а третий — кодом емкости (объема) микросхемы. Сравнивая эти три байта с таблицей софт программатора определяет модель микросхемы и выставляет соответствующие параметры для чтения, записи или стирания микросхемы.
Информация JEDEC ID иногда совпадает у разных моделей микросхем. Именно поэтому, устанавливая микросхему в программатор, бывает, мы получаем модель микросхемы в программе, отличающуюся от ее реальной маркировки - совпали три байта JEDEC ID с информацией в базе софта программатора. В подавляющем большинстве таких случаев совпадают и параметры таких микросхем. Поэтому чтение-запись в таких случаях, чаще всего, проходит успешно.
Многие из производителей софта для программаторов безнадежно отстают от расширяющегося ассортимента и новые микросхемы не определяются программатором. Поэтому возникла идея объединения информации о SPI NOR FLASH в одном месте. В результате получилась очень большая таблица:

С разбивкой по производителям она содержит для каждой микросхемы JEDEC ID, емкость, наличие разных режимов работы, напряжение питания и ссылку на Datasheet.
Каждый раз добавляя данные в таблицу мне приходилось одновременно в редакторе программы IMSProg дублировать информацию. Это двойная работа и делать ее было поручено php-скрипту. Получилось вполне работоспособно и дальше возникла мысль — программаторов много, а данные по микросхемам, которые они используют — одинаковые. Почему бы не написать скрипты и для других программаторов?

На момент написания статьи есть возможность скачать базу для AsProgrammer, EZP2019, IMSProg, и SNANDer. Буду рад идеям по доработке и дополнению материала.