JeDay 0 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба Осваиваю разбиение флеш-памяти на MTD разделы. Похожая тема обсуждалась здесь: http://electronix.ru/forum/index.php?showtopic=66883 но она не раскрывает мой вопрос. Возник вопрос как правильно прописывать строку агрументов для ядра линукс. И так, на плате есть АТ45 и NAND флешки. Хочу создать на обоих разделы MTD. Описываются разделы в след. формате: * mtdparts=<mtddef>[;<mtddef] * <mtddef> := <mtd-id>:<partdef>[,<partdef>] * where <mtd-id> is the name from the "cat /proc/mtd" command * <partdef> := <size>[@offset][<name>][ro][lk] * <mtd-id> := unique name used in mapping driver/device (mtd->name) * <size> := standard linux memsize OR "-" to denote all remaining space * <name> := '(' NAME ')' К примеру у меня в загрузчике строка, которая создает один раздел на всю флеш: root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2 лог с загрузки: NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit) Scanning device for bad blocks Bad eraseblock 1833 at 0x00000e520000 1 cmdlinepart partitions found on MTD device atmel_nand Creating 1 MTD partitions on "atmel_nand": 0x000000000000-0x000010000000 : "root" Собственно вопрос по "mtd-id". Как ядро поняло, что Samsung NAND это atmel_nand и надо создать раздел именно на ней? Как объяснить ядру, что раздел лежит в "одной из" флеш? Есть ли какие-то правила формирования этого имени? Согласно доке, можно из /proc/mtd взять готовое имя, но для этого надо загрузить ФС, а чтобы запустить ФС надо сформировать разделы MTD.. тема курицы и яйца. Зараннее благодарю откликнувшимся! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба Названия можно найти в соответствующих драйверах ядра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JeDay 0 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба Об этом я и сам догадывался :) А где именно искать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 19 января, 2011 Опубликовано 19 января, 2011 · Жалоба Ну если Вы используете проц от атмел и вам нужен Нанд, то ./drivers/mtd/nand/atmel_nand.c . Если нужен AT45, то ./drivers/mtd/devices/mtd_dataflash.c . С AT45 немного сложнее, нужно указывать на какой он шине. подробнее тут http://starterkit.ru/new/index.php?name=Fo...9&pagenum=2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JeDay 0 24 января, 2011 Опубликовано 24 января, 2011 · Жалоба Спасибо за помощь. Именно то что я хотел :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться