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

 
 
 
Reply to this topicStart new topic
> Выбор файловой системы для встраиваемых устройств
3.14
сообщение Nov 6 2005, 16:38
Сообщение #1


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Я так полагаю, что FAT что EXT2 никак не подходят для использования в портативных устройствах
с автономным питанием.
Поагаю нужно выбитать либо EXT3 либо JFFS ... ?

Еще, на данный момент, драйвер флешки у меня я вляется внешним модулем, который загружается после загрузки системы, как включить драйвер в ядро?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
makc
сообщение Nov 6 2005, 20:09
Сообщение #2


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(3.14 @ Nov 6 2005, 19:38) *
Я так полагаю, что FAT что EXT2 никак не подходят для использования в портативных устройствах
с автономным питанием.


Почему не подходят? Все зависит от условий их применения и, следовательно, от характера использования устройства. Но если журналирование обязательно, то эти ФС точно не подойдут.

Цитата
Поагаю нужно выбитать либо EXT3 либо JFFS ... ?


Но ведь есть еще YAFFS, YAFFS2, JFFS2 и, думаю, другие ФС. Но эти самые известные.
Какие критерии выбора?

Цитата
Еще, на данный момент, драйвер флешки у меня я вляется внешним модулем, который загружается после загрузки системы, как включить драйвер в ядро?


Можно этот вопрос свести к другому - а это необходимо? Ведь модуль драйвера устройства включают в ядро (монолит) обычно в том случае, если хотят грузиться с этого устройства. То же касается и модуля для работы с файловой системой. Если в данном случае линукс не планируется грузить с этой флешки, то и включать модуль в ядро не обязательно.

Чтобы включить драйвер в ядро, нужно перенести его в дерево исходных текстов ядра и подправить Makefile в соответствующем каталоге. Кроме того, нужно в драйвере пометить функции инициализации и деинициализации с помощью атрибутов __init и __exit.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
3.14
сообщение Nov 7 2005, 06:37
Сообщение #3


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Цитата
Почему не подходят? Все зависит от условий их применения и, следовательно, от характера использования устройства. Но если журналирование обязательно, то эти ФС точно не подойдут.
Ну, например, устройство начало сохранять данные на флешку и в этот момент пропало питание?
Цитата
Цитата
Поагаю нужно выбитать либо EXT3 либо JFFS ... ?

Но ведь есть еще YAFFS, YAFFS2, JFFS2 и, думаю, другие ФС. Но эти самые известные.
Какие критерии выбора?
Простота и надежность, все-таки процессор у меня на 25 MIPS, не хочется озадачивать его лишними вещами.
Цитата
Цитата
Еще, на данный момент, драйвер флешки у меня я вляется внешним модулем, который загружается после загрузки системы, как включить драйвер в ядро?

Можно этот вопрос свести к другому - а это необходимо? Ведь модуль драйвера устройства включают в ядро (монолит) обычно в том случае, если хотят грузиться с этого устройства. То же касается и модуля для работы с файловой системой. Если в данном случае линукс не планируется грузить с этой флешки, то и включать модуль в ядро не обязательно.
Чтобы включить драйвер в ядро, нужно перенести его в дерево исходных текстов ядра и подправить Makefile в соответствующем каталоге. Кроме того, нужно в драйвере пометить функции инициализации и деинициализации с помощью атрибутов __init и __exit.
Именно, потому что я хочу глрузить uClinux с флешки. Мало того, в планах грузить FPGA то же с этой же флешки (через внешний контроллер).


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
makc
сообщение Nov 7 2005, 07:34
Сообщение #4


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(3.14 @ Nov 7 2005, 09:37) *
Цитата
Почему не подходят? Все зависит от условий их применения и, следовательно, от характера использования устройства. Но если журналирование обязательно, то эти ФС точно не подойдут.
Ну, например, устройство начало сохранять данные на флешку и в этот момент пропало питание?


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

Таким образом, от файловой системы требуется журналирование.

Цитата
Цитата
Цитата
Поагаю нужно выбитать либо EXT3 либо JFFS ... ?

Но ведь есть еще YAFFS, YAFFS2, JFFS2 и, думаю, другие ФС. Но эти самые известные.
Какие критерии выбора?
Простота и надежность, все-таки процессор у меня на 25 MIPS, не хочется озадачивать его лишними вещами.


25 MIPS - это совсем не много. Но тут есть и другое ограничение. Все вышеперечисленные файловые системы имеют довольно большой аппетит до памяти.
Цитата
Цитата
Цитата
Еще, на данный момент, драйвер флешки у меня я вляется внешним модулем, который загружается после загрузки системы, как включить драйвер в ядро?

Можно этот вопрос свести к другому - а это необходимо? Ведь модуль драйвера устройства включают в ядро (монолит) обычно в том случае, если хотят грузиться с этого устройства. То же касается и модуля для работы с файловой системой. Если в данном случае линукс не планируется грузить с этой флешки, то и включать модуль в ядро не обязательно.
Чтобы включить драйвер в ядро, нужно перенести его в дерево исходных текстов ядра и подправить Makefile в соответствующем каталоге. Кроме того, нужно в драйвере пометить функции инициализации и деинициализации с помощью атрибутов __init и __exit.
Именно, потому что я хочу глрузить uClinux с флешки. Мало того, в планах грузить FPGA то же с этой же флешки (через внешний контроллер).


Так... Ведь сам себя uClinux с флешки загрузить не может. Его грузит бутлоадер, который загружает ядро в память, распаковывает его и передает ему управление. Т.е. в данном случае начинать нужно с бутлоадера, который должен уметь грузить ядро с флешки. После этого стоит думать о самом ядре и включать в его состав драйвер флешки, чтобы ядро могло работать с корнем файловой системы, размещенной на флешке.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
Harbour
сообщение Nov 8 2005, 08:42
Сообщение #5


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Цитата(3.14 @ Nov 6 2005, 19:38) *
Я так полагаю, что FAT что EXT2 никак не подходят для использования в портативных устройствах
с автономным питанием.
Поагаю нужно выбитать либо EXT3 либо JFFS ... ?

Еще, на данный момент, драйвер флешки у меня я вляется внешним модулем, который загружается после загрузки системы, как включить драйвер в ядро?

Тут все от памяти зависит - если ее много, лучше использовать готовое журналируемое решение, если мало, то есть 2 варианта - спереть tinyfs (инфы про журналируемость правда нету) или написать свою, что IMHO лучше.
На простую (без директорий) журналируемую fs у меня ушло 3 дня и 100 байт RAM'а + размер буфера для сектора. При использовании флеша со встроенными буферами (типа at45dbxxx) можно уложиться в 100 байт.
Go to the top of the page
 
+Quote Post
3.14
сообщение Nov 8 2005, 10:55
Сообщение #6


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Памяти у меня море (32М).
Насколько успел проникнуться, JFFS2 предпочтительнее, т.к. ничего не привязывеатся к номерам секторов. Но, опять же насколько успел понять, так просто флешку не нельзя монтировать, нужны какие то манипуляции с MTD.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Yra
сообщение Nov 22 2005, 21:34
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 396
Регистрация: 22-10-04
Из: Воронеж
Пользователь №: 962



Поделитесь толковой докой о принципах построения файловых систем (для флешек smile.gif )


--------------------
всё можно наладить, если достаточно долго вертеть в руках /Законы Мерфи/
Go to the top of the page
 
+Quote Post
makc
сообщение Nov 23 2005, 05:05
Сообщение #8


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(Yra @ Nov 23 2005, 00:34) *
Поделитесь толковой докой о принципах построения файловых систем (для флешек smile.gif )


http://www.cs.tau.ac.il/~stoledo/Pubs/flash-survey.pdf

А еще см. Google на тему JFFS, JFFS2, YAFFS и т.д.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
zaratustra
сообщение Nov 23 2005, 07:37
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 65
Регистрация: 18-11-05
Пользователь №: 11 054



makc

> Т.е. в данном случае начинать нужно с бутлоадера, который должен уметь грузить ядро с флешки.
> После этого стоит думать о самом ядре и включать в его состав драйвер флешки, чтобы ядро могло
> работать с корнем файловой системы, размещенной на флешке.

Чтобы загрузить ядро с флэшки надо загрузить драйвер файловой системы и драйвер флэшки _до_ передачи управления ядру. Иначе получится kernel panic wink.gif)) Можно поискать варианты с mkinitrd - например в suse такая возможность заложена штатно.

зы попробовал приаттачить файл - не получилось


3.14

Хотя и не в embedded приложениях, но в варианте частых сбоев питания у меня работали ext3 и reiserfs - нареканий не было.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 18:58
Рейтинг@Mail.ru


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