BIOS SPI ARDUINO

hunk_72
Offline
Зарегистрирован: 11.09.2015

Есть необходимость считать\записать биос, ради этого покупать программатор смысла нет. Воспользоваться дуиной? Скетч+программа, есть готовые решения, что посоветуете? Если есть просто оставьте ссылку, сам поиском воспользоваться не могу, без трафика, только текста чуток, не орите.

спасибо.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

ну, ты хоть бы название микросхемы биоса предъявил как повод для раздумий над твоим попаданцем с трафиком

hunk_72
Offline
Зарегистрирован: 11.09.2015

Вау, яндекс открылся. 25ххх какая-то. По моему это не принципиально. Открылся, но пока не ищет.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

hunk_72 пишет:

Вау, яндекс открылся. 25ххх какая-то. По моему это не принципиально. Открылся, но пока не ищет.

если тебе не принципиально, то сам себе ищи.

hunk_72
Offline
Зарегистрирован: 11.09.2015

Не стоит так бурно реагировать, что-бы посмотреть, надо некоторое время. 4х мегабитка 25l4005 пр-ва МХ.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

hunk_72, LPT порт и 4 резистора. Вот и весь программатор.

hunk_72
Offline
Зарегистрирован: 11.09.2015

Всем спасибо за ответы, но сегодня на нормальный программатор, пора выбираться из этой безинтернетной ямы. Да и холодно тут. Единствинный более, менее доступ в интернет, этот нотик за счёт своей мобильности. А, загородом даже резисторы проблема, вот только дуина поиграться с собой, даже 3. 

А, про LPT , какой прого шить ? Хоть не актуально, но интересно. Всегда пользовался программаторами, сейчас работу покинул, может и пригодится.

 

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

hunk_72 пишет:

А, про LPT , какой прого шить ?

spipgm

SPI FlashROM Programmer 1.9c
****************************

SPIPGM      - binary for Linux
SPIPGM.EXE  - binary for DOS/Win9x
SPIPGMW.EXE - binary for Win9x/NT/2k/XP
IOPERM.DLL  - low-level HW access library for Win9x/NT/2k/XP/Vista/7(NoUAC)

Version 1.7+ has improved LPT port handling resulting in 1,6x faster reading

SPI FlashROM supported:
***********************

AMIC:
A25L05PU/PT (64kB)
A25L10PU/PT (128kB)
A25L20PU/PT (256kB)
A25L40PU/PT (512kB)
A25L80PU/PT (1MB)
A25L16PU/PT (2MB)
A25L32PU/PT (4MB)
A25L64PU/PT (8MB)
A25L512 (64kB)
A25L010 (128kB)
A25L020 (256kB)
A25L040 (512kB)
A25L080 (1MB)

Atmel:
AT26F004 (512kB)
AT26DF041 (512kB)
AT26DF081A (1MB)
AT26DF161A (2MB)
AT26DF321 (4MB)

EON:
EN25P16 (2MB)
EN25P32 (4MB)
EN25P64 (8MB)
EN25P128 (16MB)
EN25F20 (256kB)
EN25F40 (512kB)
EN25F80 (1024B)
EN25F16 (2MB)
EN25F32 (4MB)
EN25F64 (8MB)
EN25F128 (16MB)

ESMT:
F25L004A (512kB)
F25S04PA (512kB)
F25L08PA (1024B)
F25L16PA (2MB)
F25L32PA (4MB)
F25L32QA (4MB)

Macronix:
MX25L1005 (128kB)
MX25L2005 (256kB)
MX25L4005 (512kB)
MX25L8005 (1MB)
MX25L1605 (2MB)
MX25L3205 (4MB)
MX25L6405 (8MB)

PMC:
Pm25LV512A (64kB)
Pm25LV010A (128kB)
Pm25LV020 (256kB)
Pm25LV040 (512kB)
Pm25LV080B (1MB)
Pm25LV016B (2MB)
Pm25LV032B (4MB)
Pm25LV064B (8MB)

Spansion:
S25FL004A (512kB)
S25FL008A (1MB)
S25FL016A (2MB)
S25FL032A (4MB)
S25FL064A (8MB)
S25FL128P (16MB)

SST:
SST25VF010 (128kB)
SST25VF020 (256kB)
SST25VF040 (512kB)
SST25VF080 (1MB)
SST25VF016 (2MB)
SST25VF032 (4MB)
SST25VF064 (8MB)
SST25VF128 (16MB)
SST26VF016 (2MB)
SST26VF032 (4MB)
SST26VF064 (8MB)
SST25VF064C (8MB)

ST Microelectronic:
M25P10 (128kB)
M25P20 (256kB)
M25P40 (512kB)
M25P80 (1MB)
M25P16 (2MB)
M25P32 (4MB)
M25P64 (8MB)
M25P128 (16MB)

Winbond:
W25Q10 (128kB)
W25Q20BV (256kB)
W25Q40BV (512kB)
W25Q80BV (1MB)
W25Q16BV (2MB)
W25Q32BV (4MB)
W25Q64BV (8MB)
W25Q128BV (16MB)
W25X10 (128kB)
W25X20 (256kB)
W25X40 (512kB)
W25X80 (1MB)
W25X16 (2MB)
W25X32 (4MB)
W25X64 (8MB)

 

hunk_72
Offline
Зарегистрирован: 11.09.2015

Всё, вопрос закрыт eee запустился. 

Немного поплачусь,

дети-зло, что делали - ничего, оно само. \дети не мои, мои выросли.\

родственники - зло, ты почини, но ты ничего не трогай....

Почини в деревне ЧЕМ?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

hunk_72 пишет:

родственники - зло, ты почини, но ты ничего не трогай....

Почини в деревне ЧЕМ?

Ну дык известная история... "Тыжпрограммист" должен уметь чинить компы, ноутбуки, планшеты, смартфоны, электрочайники, утюги, пылесосы  и прочую бытовую электротехнику в любых условиях с помощью подручных инструментов, сделанных из говна и палок.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

hunk_72 пишет:

Всё, вопрос закрыт eee запустился. 

Немного поплачусь,

дети-зло, что делали - ничего, оно само. \дети не мои, мои выросли.\

родственники - зло, ты почини, но ты ничего не трогай....

Почини в деревне ЧЕМ?

ЕЕЕ900-й у меня иногда кирпичом прикидывается - достаточно отключить-подключить батарею.

hunk_72
Offline
Зарегистрирован: 11.09.2015

Нет, тут дети начитались, хотели лого сменить. Добывал это калёным железом. Но, не делали НИЧЕГО, он сам.

У него задача стоять под крышей инет ловить и раздавать.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

hunk_72 пишет:

Нет, тут дети начитались, хотели лого сменить. Добывал это калёным железом. Но, не делали НИЧЕГО, он сам.

У него задача стоять под крышей инет ловить и раздавать.

так бы и сказал - достаточно было перешить оригинальный фирмваре взад: на флешку бросаешь и держишь Alt+F2 при загрузке. 

hunk_72
Offline
Зарегистрирован: 11.09.2015

Ха, точно, дурака свалял, забылось как-то. Но когда долбят все, не до того. Но, SPI & SPI, первое что в голову пришло, темболее под рукой, это и подумалось. Вобщем сразу пошел не тем путём.

inspiritus
Offline
Зарегистрирован: 17.12.2012

только что пришлось проверять на читабельность 27с512 и w29c040 с прошивками термопластавтомата.

взял нану, прицепил три  i2C расширителя 8-битных PCF8574 - два на ША, один на ШД.

сигналы СS и E с каких то свободных портов наны.

А15 дергаю вручную. Наврал, А 16 для 1024, для 512 хватает двухбайтовой ША

далее просто - цикл младшего байта адреса от 0 до255 внутри цикла для старшего байта адреса от 0 до 255 , выставление управления в ноль, чтение байта данных, выставление управления в единицу , вывод в сериал, повторение ...

достаточно было проверить, что микрух вообще жива... потому записью в файл не заморачивался. копипаст не получается (из-за наличия нуль-кодов), видимо надо дружить с процессингом.

писалось по-быстрому сорри за гавнакод :)

первая проверка была на какойто 27с256, найденной в барахолке, оказалась прошивка от синклера

1982 Sinclair Research Ltd    (ностальгия) 

/* Dependencies */
#include <Wire.h>    // Required for I2C communication
#include "PCF8574.h" // Required for PCF8574

#define CE_PIN 4
#define OE_PIN 5
#define A15 13

/** PCF8574 instance */
PCF8574 addr_low;
PCF8574 addr_high;
PCF8574 data;


byte dt; 
int l;
int h;

/** setup() */
void setup() {

  /* Setup serial for debug */
  Serial.begin(115200);
  
  /* Start I2C bus and PCF8574 instance */
  addr_low.begin(0x21);
  addr_high.begin(0x22);
  data.begin(0x23); 

  
  pinMode(CE_PIN, OUTPUT);  digitalWrite(CE_PIN, HIGH); 
  pinMode(OE_PIN, OUTPUT);  digitalWrite(OE_PIN, HIGH); 
  pinMode(A15, OUTPUT);  digitalWrite(A15, LOW);

for (int i=0; i<8; i++){
 addr_low.pinMode(i, OUTPUT); 
 delay(5);
 addr_high.pinMode(i, OUTPUT); 
 delay(5);
 data.pinMode(i, INPUT);
 delay(5);
 }
  
 
  addr_low.write(0);
  delay(10); 
  addr_high.write(0);
  delay(10); 
}

void loop() {

for (h=0; h<255; h++){
addr_high.write(h);  
for (l=0; l<255; l++){
addr_low.write(l); 
digitalWrite(CE_PIN, LOW); 
digitalWrite(OE_PIN, LOW);
Serial.write(data.read());
digitalWrite(CE_PIN, HIGH); 
digitalWrite(OE_PIN, HIGH);
}
}
digitalWrite(A15, HIGH);
for (h=0; h<255; h++){
addr_high.write(h);  
for (l=0; l<255; l++){
addr_low.write(l); 
digitalWrite(CE_PIN, LOW); 
digitalWrite(OE_PIN, LOW);
Serial.write(data.read());
digitalWrite(CE_PIN, HIGH); 
digitalWrite(OE_PIN, HIGH);
}
}
Serial.println("****************END*********************************");

while (1==1);
}

в итоге добавил еще один расширитель и прочитал оставшиеся w29c040 потребовалось еще три адреса.

мучался с сохранением прочитанного в файл, искал терминалы с логгированием, программы , переназначения. В итоге плюнул,  прицепил SD модуль и слил на карту. Отдельный модуль для больших SD не заработал, только читал. ( модуль с резисторными делителями, без активного преобразователя уровней) . Подцепил модуль из эзернет шильда. 

 

ioleg73
Offline
Зарегистрирован: 16.05.2015

За спектрум плюс, мой первый заработал в ноябре 89 года.