vladisslav (04.04.2012 15:47, просмотров: 4047)
Возможно ли программно убить spi-флешку? Ситуция такая: сделал на atmega8 простой программатор (1117-3.3 по питанию, прошивка на базе V-USB). AVR шьются и читаются без проблем. Решил попробовать читать/писать spi-флешки, благо есть дохлые ADSL D-linkи и материнки, с которых их можно выпаять. Первая попытка писать/читать 93c48 была успешной, разве что пришлось повозиться из-за 9-ти битного протокола. Потом попробовал Pm25lv040 - писалось/читалось нормально. Вычитал BIOS материнки, стер, записал обратно, проверил. Потом снял с D-link 2500 25x16 и начались проблемы.
На команду JEDEC ID (0x9f) Отвечает 0xee,0x40,0x00. Должно быть 0xef,0x30,0x15.
На команду id (0x90) Отвечает 0xee,0x06,0xe0,0x6e,0x06,0xe0 и так далее по 24 бита, Должно быть 0x90,0x14,0x90,0x14...
Режим записи включить не удается, после команды 0x06 из регистра статуса читается 0x00 вместо 0x02.
По команде чтения читается одинаковый мусор, если читать несколько раз подряд, так что не ошибки на шине.
Подключил обратно 25lv040 - похожая картина.
Ошибки в прошивке и управляющая программа точно не виноваты. Контролировал, что передается по светодиодам, выставив clock 1Hz. Выводится именно то, что передается.
Убитые статикой флешки вообще не отвечают ни на одну команду, так что не статика точно. Возможно ли убить флешку до такого состояния какими либо не документированными командами (id вроде хранится в масочном ROM, а не как у AVR, да и на команду включения записи должна реагировать со стертым id)?