Как я могу прочитать идентификатор установленного флэш-устройства, возможно, через интерфейс mtd?

1950
code_fodder

В нашем встроенном Linux-решении с использованием uClinux я только что добавил флэш-устройство большего размера. Я хочу иметь возможность запросить, какое устройство я установил (аппаратное устройство).

Маленькое и большое устройства имеют разные идентификаторы устройств, которые я могу прочитать в коде драйвера устройства.

Чего я не знаю, так это как получить эту информацию в «пользовательской зоне». Т.е. в скрипте shell / bash.

Я посмотрел на:

cat /proc/mtd- это дает информацию о размере разделов. Но я не могу сказать из этого, на самом деле мне нужно будет изменить размеры разделов, в зависимости от того, какой чип установлен.

mtd_debug info /dev/mtd0 - Это довольно близко, это говорит мне о размере сектора (размер стирания), типе mtd и т. Д., Но так как две флеш-микросхемы имеют одинаковый тип, это также недостаточно информации.

4
Похоже, что это обрабатывается очень по-разному в зависимости от драйвера и чипа: некоторые поддерживают JEDEC READ ID, некоторые нет и т. Д. Можете ли вы сузить возможные драйверы, которые будут использоваться в вашем случае? dirkt 7 лет назад 0

2 ответа на вопрос

1
code_fodder

Я сделал для этого решение на основе кода, переполнение стека здесь: как можно определить, что такое mtd-flash-устройство-установлено

Однако, поскольку это изменение кода (даже если оно всего одна строка), оно требует пересобрания ядра, поэтому я пока не отмечаю это как решение ...

0
SergA

Быстро, но безобразно, вы можете просканировать вывод ядра на наличие сообщения о NAND:

dmesg | grep 'Manufacturer ID' 

Сообщение варьируется от версии к версии ( 2.6.32, 4.10 ). Вот результат для 2.6.32.57:

[root@board /]# dmesg | grep 'Manufacturer ID' NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit) 
dmesg выглядит хорошей идеей - но у меня не получилось :( Я вижу, что монтируются разделы флэш-памяти, но не вижу никакой информации о производителе / ​​идентификаторе .... code_fodder 7 лет назад 0

Похожие вопросы