реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> MTD разделы на флеш, правила объявления
JeDay
сообщение Jan 19 2011, 11:55
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 276
Регистрация: 22-09-05
Из: Kiev
Пользователь №: 8 818



Осваиваю разбиение флеш-памяти на 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.. тема курицы и яйца.

Зараннее благодарю откликнувшимся!

Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jan 19 2011, 14:30
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Названия можно найти в соответствующих драйверах ядра.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
JeDay
сообщение Jan 19 2011, 15:38
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 276
Регистрация: 22-09-05
Из: Kiev
Пользователь №: 8 818



Об этом я и сам догадывался sm.gif
А где именно искать?
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jan 19 2011, 22:39
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Ну если Вы используете проц от атмел и вам нужен Нанд, то ./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


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
JeDay
сообщение Jan 24 2011, 13:26
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 276
Регистрация: 22-09-05
Из: Kiev
Пользователь №: 8 818



Спасибо за помощь. Именно то что я хотел sm.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd July 2025 - 04:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01497 секунд с 7
ELECTRONIX ©2004-2016