Использование cookie

Добавляем новые микросхемы в 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»:

Поиск Device ID

Как видно из рисунка, первым параметром (обязательно в кавычках) идет название микросхемы, затем записывается код производителя. В нашем случае это код 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 },

Сохраняем полученный файл и компилируем программу:

make

В результате должна получиться рабочая программа SNANDer с возможностью работы с новой моделью NOR-EEPROM. Чтобы можно было вызывать SNANDer из любой папки достаточно скопировать откомпилированный файл в папку /usr/local/bin:

sudo cp SNANDer /usr/local/bin

После этого можно пробовать считать и запрограммировать новый тип микросхем.

Можно также извлечь данные о микросхемах NOR FLASH из программы для другого популярного программатора - EZP2019 (а также его модификаций EZP2020, EZP2023 и т.д.). Для этого нужно скачать программу ezp_parser, извлечь из архива с софтом для программаторов серии EZP файл данных EZP20xx.Dat (EZP2019.Dat, EZP2023.Dat и т. д.) и в терминале выполнить команду:

./ezp_parser EZP20xx.Dat

Где EZP20xx.Dat - имя файла данных программатора. Далее просто скопировать нужные нам строки в файл spi_nor_flash.c и компилировать проект проект командой make.



Понравилась статья - поделитесь с друзьями:


Комментарии:

Добавить комментарий:

Ник:     



Текст комментария:

      

      

* Ваш комментарий будет опубликован после одобрения модератором.