Показать сообщение отдельно
Старый 19.07.2019, 05:38   #6951 (permalink)
Завсегдатай
 
Регистрация: 11.07.2019
Сообщений: 335
Вы сказали Спасибо: 87
Поблагодарили 86 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Планета Земля
По умолчанию

Цитата:
Значится так. Решил в легкую пощупать и сравнить код процессора и модуля Vcfusblu.bin для 41 и 42 версии.
Код в процессоре не делает различия между чипами AMD и Fuji - проверку проходят оба типа.
Cмотрим далее. Vcfusblu.bin в 41-м проверкой типа чипа памяти вообще не занимается, ей по барабану что стоит - съест все
А вот в 42-м проверка есть и она четко делит чипы на два типа - AMD и все остальное, включая Fujitsu.
Во втором случае подпрограмма проверки выдает errflag=0.

Похоже просматривается два решения - либо перепаять чип, либо подправить код в vcfusblu.bin - в первом приближении можно исправить всего один байт и проверить в живую.
Единственное, что мешает сразу сделать второй вариант это точный алгоритм контрольной суммы модуля CRC-16 (использована какая-то своя модификация).
Но это в том случае, если КС проверяется при записи. Вполне может быть, что такой проверки в реалии и не делается.
Кто хочет рискнуть и проверить запись "в лоб" данной идеи ниже лежит исправленный бинарник без КС. Естественно нужно его переименовать в название оригинального файла
Посмотрел код с твоим патчем, вроде как ты возвращаешь r4, c единицей для любого производителя флеш. И получается что софт принимает его за AMD. Но для AMD, Fujitsu и прочего у него три варианта декодирования полученной там информации.

Если глянуть даташит амд чипа то есть такое:
Sector Protection/Unprotection
The hardware sector protection feature disables both
program and erase operations in any sector. The hardware
sector unprotection feature re-enables both program
and erase operations in previously protected
sectors.
The device is shipped with all sectors unprotected.
AMD offers the option of programming and protecting
sectors at its factory prior to shipping the device
through AMD’s ExpressFlash™ Service. Contact an
AMD representative for details.
It is possible to determine whether a sector is protected
or unprotected. See “Autoselect Mode” for details.
Sector protection/unprotection can be implemented via
two methods.
The primary method requires VID on the RESET# pin
only, and can be implemented either in-system or via
programming equipment. Figure 2 shows the algorithms
and Figure 20 shows the timing diagram. This
method uses standard microprocessor bus cycle timing.
For sector unprotect, all unprotected sectors must
first be protected prior to the first sector unprotect write
cycle.
The alternate method intended only for programming
equipment requires VID on address pin A9 and OE#.
This method is compatible with programmer routines
written for earlier 5.0 volt-only AMD flash devices. Details
on this method are provided in a supplement, publication
number 22289. Contact an AMD representative
to request a copy.

А это значит на AMD можно защищать сектора. Есть предположение что на этом все и построено. Надо сравнить с фуджиками и прочими. Скорей всего логика там такая - это амд и сектор можно закрыть - все ок. Фуджитсу - пробуем по другому методу, прочее - клон
Ну или вариации...

И еще - мы не знаем какие в реальности ID у чипа Николая.
adolf80 - у тебя фуджитсу стоит или что другое?

Последний раз редактировалось lprot; 19.07.2019 в 05:41..
lprot вне форума   Ответить с цитированием