+7(8482)61-33-79
пн-пт 10:00-17:00

Переделка DDR3 памяти в DDR3L с правкой CRC контрольной суммы

В массе своей DDR3L (low-voltage 1.35V) очередной развод производителей, расширяющих ассортимент для увеличения прибыли. Чипы памяти обычно идентичны и разница на уровне прошивки SPD. Перейдем к практике.


Считываем SPD памяти. Здесь не будем обсуждать как это сделать или чем. Кто разбирается - сможет, кто нет - статья не для них.

Помимо изменения самого байта с 00h на 02h по адресу 06h, необходимо соответственно пересчитывать изменившуюся контрольную сумму иначе, например на куче свеженьких Ленов, переделанная память работать не будет (специально тестировал одну и ту же планку памяти с исправленной CRC и нет), но обычно работает на всяких асусах и пр.

Самый простой способ это использовать специальную программу для работы с SPD, но spdtool уже давно безнадежно устарел, а Thaiphoon Burner конечно очень крут, но платный (в бесплатной версии как водится все нужные фичи заблокированы) и для наших простых задач избыточен, хотя кому интересно каждый байт прошивки описан и позволяет понимать как и что устроено. Есть еще китайский spd doctor, но опять же полноценно он вроде работает в привязке к аппаратному адаптеру.

Поэтому опишу как CRC пересчитать вручную ) Сама CRC хранится в 126 и 127 байтах прошивки (7Eh-7Fh).

1. В 7м бите нулевого байта прошивки указывается: CRC рассчитывается для 0-116 (чаще всего) или от 0-125 байт. Чтобы не напрягать голову лишний раз просто смотрим на нулевой байт - обычно его значение 92h, значит CRC рассчитывается по первому варианту 0-116

2. Берем какой-нибудь онлайн калькулятор типа этого, не забываем поставить галочку inpute type в положение hex, копипастим туда в строку 0-116 байты (по 74h), жмем calculate CRC и смотрим значение в строке CRC-CCITT (XModem), не забываем про little-endian - то есть получившиеся байты CRC забить в прошивку (по адресу контрольной суммы) в обратном порядке


(с)


Написать отзыв

Внимание: HTML не поддерживается! Используйте обычный текст.
    Плохо           Хорошо