Добавляем новые микросхемы в SNANDer
(Онлайн справочник радиолюбителя)
Мы уже писали, как пользоваться программой SNANDer для программирования микросхем с использованием программатора CH341A.
В этой статье расскажем, как добавить поддержку новых типов микросхем NOR-flash.
Для этого нам потребуется Datasheet на микросхему, исходный код программы SNANder и, возможно, установка пакета Build essential.
Подготовка:
- Устанавливаем пакет для работы компилятора языка C build-essential:
sudo apt update
sudo apt install build-essential - Скачиваем архив программы SNANDer из GitHub
- Распаковываем архив в любую удобную папку, например в «загрузки»
- Переходим в папку программы и открываем ее в терминале
Для добавления новой микросхемы необходимо отредактировать файл spi_nor_flash.c. Открываем файл в любом текстовом редакторе и листаем до строки «static struct chip_info chips_data [] = {». Здесь и определяются все параметры микросхем. Мы разберем их на примере микросхемы Winbond W25Q32BV. Эта микросхема уже давно поддерживается программой, однако ее удобно использовать для понимания процесса. Открываем Datasheet на микросхему и листаем до таблицы «Manufacturer and Device Identification»:
Как видно из рисунка, первым параметром (обязательно в кавычках) идет название микросхемы, затем записывается код производителя. В нашем случае это код 0xef — он указывает на производителя Winbond. Далее записываются Device ID, остальные два байта заполняются нулями: 0x40160000.
Затем переходим в раздел «Block diagram» с блок-схемой организации микросхемы. По ней определяем размер блока в килобайтах и вписываем его в качестве следующего параметра. В нашем примере 64KB соответствует строке «64 * 1024». И находим количество таких блоков. В нашем примере — 64.
Если емкость микросхемы 265 килобайт или более, ищем в тексте Datasheet пункт «4-byte Address Modes». Если он есть, в качестве последнего параметра указываем цифру 1, иначе — указываем 0.
В итоге получаем новую строку массива такого вида:
{ "W25Q32BV", 0xef, 0x40160000, 64 * 1024, 64, 0 },
Сохраняем полученный файл и компилируем программу:
В результате должна получиться рабочая программа SNANDer с возможностью работы с новой моделью NOR-EEPROM. Чтобы можно было вызывать SNANDer из любой папки достаточно скопировать откомпилированный файл в папку /usr/local/bin:
После этого можно пробовать считать и запрограммировать новый тип микросхем.
Можно также извлечь данные о микросхемах NOR FLASH из программы для другого популярного программатора - EZP2019 (а также его модификаций EZP2020, EZP2023 и т.д.). Для этого нужно скачать программу ezp_parser, извлечь из архива с софтом для программаторов серии EZP файл данных EZP20xx.Dat (EZP2019.Dat, EZP2023.Dat и т. д.) и в терминале выполнить команду:
Где EZP20xx.Dat - имя файла данных программатора. Далее просто скопировать нужные нам строки в файл spi_nor_flash.c и компилировать проект проект командой make.
Комментарии:
Добавить комментарий: