Не могу найти на сайте Jookie схемы программатора. Помню, был простой и посложнее, с 244 регистром. (Отставить, схемы в архиве с FlashTool)
Вот еще вариант программатора под LPT: http://77.71.105.127/AtmelFlash/index_en.html
Вид для печати
Не могу найти на сайте Jookie схемы программатора. Помню, был простой и посложнее, с 244 регистром. (Отставить, схемы в архиве с FlashTool)
Вот еще вариант программатора под LPT: http://77.71.105.127/AtmelFlash/index_en.html
Заленился паять проводки и откапывать старый ноутбук с LPT портом. Прошился через flashtool и Altera USB Blaster.
Вложение 66417
Соответствие пинов USB Blaster и AT45:Код:$ flashrom -p usbblaster_spi -w us_fw120.bin flashrom v0.9.9-r1954 on Linux 4.15.0-34-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
Found Atmel flash chip "AT45DB041D" (528 kB, SPI) on usbblaster_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
USB BLASTER - AT45
1 - 2 (SCLK)
2 - 7 (GND)
4 - 6 (VCC)
7 - 8 (MISO)
8 - 4 (/CS)
9 - 1 (MOSI)
Если требуется прошить AT45 на плате, следует отключить процессор, замкнув контакты 2 и 3 разъема SV3.
Выяснилась пикантная подробность, связанная с прошивкой AT45DB041D. По умолчанию размер страницы в ней 264 байта, что видно по установленному младшему биту регистра конфигурации под романтическим названием "Power of 2". Большинство программ умеют этот бит грамотно обрабатывать и использовать страницу размером в 264 (бит установлен) или 256 байт (бит сброшен). Но есть нюанс (с).
Процессор Blackfin BF531, грузясь с внешней SPI флешки, тоже умеет вычитывать регистр конфигурации, и даже умеет различать разные типы последовательных флешей, от универсальных до серий 25 и AT45. Для AT45 процессор, однако, поддерживает старую инкарнацию AT45DB041B, и, глядя на младший бит в виде единицы, решает, что к нему прицепили AT45DB161 с размером страницы в 512 байт. Короче говоря, загрузка не удается.
Бит "Power of 2", что тоже любопытно, пользователь может запрограммировать самостоятельно, причем только один раз. Выставленный таким образом размер страницы 256 байт уже никогда и ничем в этой конкретной флешке не поменять. Для сего надлежит послать флешкевоздушный поцелуйволшебную последовательность 0x3D, 0x2A, 0x80, 0xA6 и трижды дернуть питание. Ну или хотя бы однажды.
Программа atdftool автора, работающая через LPT-порт, как раз этот бит умеет выставлять, а вот flashrom, представьте себе, нет. Пришлось его немножко похачить, благо исходники доступны.
Вложение 66439
Эквиваленты мелкой логики в SOT-23-5 (рублей по 7-8 в ЧиД):
NC7S04 = SN74AHC1G04DBVR
NC7S86 = SN74AHC1G86DBVR
Спустя год собрал себе новую плату. На старой то ли поджарился, то ли изначально был побитый процессор.
Вложение 70744
(В прекрасной России сегодня невозможно найти стабилитроны MM3Z3V3, пришлось ставить бочонки BZV55)
А файл какой зашивал в AT45DB041D?
Последний доступный, фирмварь 1.20 размером что-то около 29 килобайт.
Зашивал опять с помощью патченного flashrom прямо на плате.
Есть еще подозрение, что можно сделать платку-пкреходник для программирования в виде SD карты и шить через SD слот.
Наговнякал в первом приближении подобие корпуса, каковое подобие любезно распечатал svofski.
Вложение 70751Вложение 70750
Итерация II:
Вложение 70877
Вложение 70879
Вложение 70880