Я только что побежал
cat /proc/cpuinfo
на моей доске. Я получаю «Редакция: 1000002». Я не нашел упоминаний о том, какая это версия платы.
Любая помощь?
Я только что побежал
cat /proc/cpuinfo
на моей доске. Я получаю «Редакция: 1000002». Я не нашел упоминаний о том, какая это версия платы.
Любая помощь?
Ответы:
Согласно информации, опубликованной в рамках объявления о предстоящей ревизии платы , у вас есть плата версии B версии 1.0.
МОДЕЛЬ И ПЕРЕСМОТРНЫЙ КОД (С) Модель B Редакция 1.0 2 Модель B Revision 1.0 + ECN0001 (без предохранителей, D14 снят) 3 Модель B Редакция 2.0 4, 5, 6
Код является последней цифрой числа, возвращенного
cat /proc/cpuinfo
(по крайней мере, пока они не имеют более 9 ревизий).
MODEL AND REVISION CODE(S)
Model B Revision 1.0 2
Model B Revision 1.0 + ECN0001 (no fuses, D14 removed) 3
Model B Revision 2.0 4, 5, 6
В настоящее время существует обширная документация по полю редакции /proc/cpuinfo
на raspberrypi.org:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md
Это документирует как более старый (инкрементный) код ревизии (значения от 0x0001 до 0x0015, используемый для исходных моделей Rpi 1), так и более новый формат (введенный с Rpi 2), где биты кода фактически кодируют параметры, такие как производитель, объем памяти и тип платы. Он также имеет список всех кодов ревизий, которые используются в настоящее время.
Что эта страница не документирует, так это то, что ревизия (старого стиля) может иметь префикс «1000», который указывает на то, что к плате применено перенапряжение. Я подозреваю, что для ревизий нового стиля применяется аналогичный (но более короткий, так как ревизия длиннее) префикс. Информацию об этом префиксе, а также список моделей с некоторыми подробностями о заметных различиях можно найти по адресу https://elinux.org/RPi_HardwareHistory.
На этой странице на raspberrypi.org также задокументировано , что вы можете найти читабельный дескриптор текущей модели в /sys
:
$ cat /sys/firmware/devicetree/base/model
Raspberry Pi Model B Plus Rev 1.2
При запуске загрузчик (или, возможно, ядро) автоматически определяет, на какой плате он работает, и затем загружает соответствующий файл "devicetree" для этой платы. Это devicetree описывает, как все оборудование подключено и используется для загрузки соответствующих драйверов. Кроме того, это devicetree также содержит свойство "модель". Я собирался сказать, что это свойство, которое вы на самом деле читаете с помощью вышеуказанной команды, за исключением того, что строки модели, определенные в devicetree, на самом деле немного отличаются (используя «+» вместо «Plus» и без строки ревизии). Например, файл devicetree, который, я думаю, принадлежит к вышеприведенному выводу команды, представляет собой bcm2708-rpi-b-plus.dts . Есть также версии bcm2835, но их нет в моем/boot
и bcm2708 dts заявляет о совместимости с bcm2835. Я также попытался декомпилировать соответствующий dtb
файл из /boot
, но это также дает строку с «+» и без ревизии, поэтому я не совсем уверен, откуда эта модель строки в точности (и что более важно, как выглядят все возможные значения). Так что, может быть, загрузчик извлекает devicetree из другого места или где-то встроен.
Я только что заметил, что /proc/cpuinfo
также содержит поле «Модель», которое, как я подозреваю, может иметь тот же источник.