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

 
 
> Кто еще хорошо помнит как устроен FAT?
Allregia
сообщение Oct 18 2016, 18:49
Сообщение #1


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

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Вопрос можео несколько глуповатый - на диске с ФАТ 2 файла, большой и маленький.
Если файлу поставить аттрибут "System", вроде так метятся неперемещаемые файлы?
Гарантирует ли это, что при перезаписи файла он запишется в те-же сектора?

Правда, если файл сначала удалят, а потом на его место запишут другой, то тогда он уже не попадет на те-же сектора?
А если я скорректирую бут-сектор, что так Root Entry=2, а в FAT вообще все незанятые кластеру пропишу как BAD, то если удалить только один файл, а потом писать снова, ему деваться некуда будет, только в те-же сектра где он был?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sigmaN
сообщение Oct 21 2016, 07:00
Сообщение #2


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Цитата
Да никакая это не "свысокоуровневая задача", как раз наоборот, весьма "низкого уровня", написана без всяких SPL/HAL, чтобы поменьше места занимала, пока в 6 килобайт вместился - она запускается при подключении устройства к РС, и ничего не далает, кроме как позволяет с РС переписать два файла. Т.е сама программа не работает с файловой системой, она только предоставляет ее для доступа с РС.
Ну послушайте, раз эти файлы с компа могут переписываться до для чего-то это нужно! Следовательно дальше ваш девайс эти файлы таки использует каким-то образом! Это очеивдно!
Так вот вы сейчас используете некий ХАК. Вы всё подстроили таким образом, чтобы для определенного файла была использована известная область памяти, далее прошивка ожидает данные файла в этой области памяти. Таким образом вы всё-же читаете файл, но в обход файловой системы! Я бы не назвал это хорошим дизайном и я думаю многие из присутствующих здесь согласятся.

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

Цитата
Ну так и запретите в своем девайсе запись в сектор, где хранятся directory entries ваших "файлов" и в FAT вообще

Залочить полностью не получится, там же как минимум венда захочет время модифицировать при перезаписи. Выше вам уже написали об этом и не только.
Опять же это какие-то странные попытки изнасиловать FAT! Венда однозначно пожалуется что таблица FAT не может быть модифицирована и предложит проверить диск....

Мой вам совет, сядьте, потратьте некоторое кол-во времени и килобайтов и читайте в своей прошивке файлы как файлы!
Т.е. в итоге у вас будет выделен некий бОльший кусок памяти достаточный для хранения FAT1+FAT2 + file_a + File_b и именно этот кусок памяти целиком вы будете показывать наружу через USB - это будет как-бы отформатированный в FAT диск. А также сами при необходимости получить данные файлов будете обращаться к этому диску как к файловой системе, через свой драйвер FAT и читать файлы как файлы. Тогда вам будет всё равно по каким они адресам размещены и в каком порядке венда пишет кластеры.
Мне кажется это будет единственный способ сделать это без костылей.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Allregia   Кто еще хорошо помнит как устроен FAT?   Oct 18 2016, 18:49
- - AlexRayne   Цитата(Allregia @ Oct 18 2016, 21:49) Воп...   Oct 19 2016, 06:54
|- - Allregia   Цитата(AlexRayne @ Oct 19 2016, 07:54) Да...   Oct 19 2016, 18:30
|- - Ruslan1   Цитата(Allregia @ Oct 19 2016, 20:30) Я н...   Oct 19 2016, 19:04
|- - HardEgor   Цитата(Allregia @ Oct 20 2016, 01:30) Име...   Oct 20 2016, 13:03
- - adnega   Цитата(Allregia @ Oct 18 2016, 21:49) Гар...   Oct 19 2016, 07:55
- - CrimsonPig   Цитата(Allregia @ Oct 18 2016, 19:49) Воп...   Oct 19 2016, 08:09
- - megajohn   Цитата(Allregia @ Oct 18 2016, 21:49) А е...   Oct 19 2016, 09:32
- - HardEgor   Цитата(Allregia @ Oct 19 2016, 01:49) А е...   Oct 19 2016, 10:22
|- - jcxz   Цитата(HardEgor @ Oct 19 2016, 13:22) Про...   Oct 19 2016, 15:01
- - TSerg   Делается контейнер, по примеру TrueCrypt и размеро...   Oct 19 2016, 15:41
- - Allregia   Цитатаили делайте все правильно. "Правильно...   Oct 19 2016, 21:20
|- - adnega   Цитата(Allregia @ Oct 20 2016, 00:20) Но ...   Oct 19 2016, 21:35
||- - Allregia   Цитата(adnega @ Oct 19 2016, 22:35) Зачем...   Oct 19 2016, 23:18
||- - adnega   Цитата(Allregia @ Oct 20 2016, 02:18) В о...   Oct 20 2016, 10:36
||- - jcxz   Цитата(Allregia @ Oct 20 2016, 02:18) Но ...   Oct 20 2016, 10:46
|- - Ruslan1   Allregia, извините, пожалуйста, но я просто не мог...   Oct 21 2016, 07:02
- - Allregia   ЦитатаOk. Сделайте два раздела - один большой и од...   Oct 20 2016, 14:16
- - sigmaN   Я не понял, т.е. все эти танцы с бубном нужны искл...   Oct 20 2016, 14:52
|- - Allregia   Цитата(sigmaN @ Oct 20 2016, 15:52) Я не ...   Oct 20 2016, 18:27
|- - YAM   Цитата(Allregia @ Oct 20 2016, 21:27) Я у...   Oct 20 2016, 18:38
|- - Allregia   Цитата(YAM @ Oct 20 2016, 19:38) При чем ...   Oct 20 2016, 19:09
|- - YAM   Цитата(Allregia @ Oct 20 2016, 22:09) Это...   Oct 21 2016, 14:46
|- - Allregia   Цитата(YAM @ Oct 21 2016, 15:46) Да. У ме...   Oct 21 2016, 15:23
- - YAM   В таких случаях я делаю просто 2 диска с необходим...   Oct 20 2016, 16:34
- - sigmaN   ЦитатаВидимо да, Вы не поняли. А какие именно...   Oct 20 2016, 20:01
|- - Allregia   Цитата(sigmaN @ Oct 20 2016, 21:01) Имела...   Oct 20 2016, 20:41
|- - CrimsonPig   Цитата(Allregia @ Oct 20 2016, 21:41) Да ...   Oct 20 2016, 21:20
|- - Allregia   Цитата(CrimsonPig @ Oct 20 2016, 22:20) Н...   Oct 20 2016, 22:42
- - controller_m30   Я недавно делал USB MSD с программной генерацией: ...   Oct 20 2016, 23:01
- - sigmaN   ЦитатаНо опять же не понимаю даже зачем требование...   Oct 21 2016, 07:12
- - gerber   Если хотите внутри устройства сами управлять распо...   Oct 21 2016, 07:27
- - Allregia   Цитатанедавно делал USB MSD с программной генераци...   Oct 21 2016, 08:08
- - Kabdim   Не проще, добавлять параметры суфиксом к прошивке ...   Oct 21 2016, 08:11
|- - Allregia   ЦитатаНе проще, добавлять параметры суфиксом к про...   Oct 21 2016, 08:15
|- - Kabdim   Цитата(Allregia @ Oct 21 2016, 11:15) Так...   Oct 21 2016, 09:23
- - sigmaN   Media Transfer Protocol в этом случае выглядит оче...   Oct 21 2016, 08:48
- - Allregia   ЦитатаНа много красивее чем предложенный мной FatF...   Oct 21 2016, 09:31
|- - CrimsonPig   Цитата(Allregia @ Oct 21 2016, 10:31) Fat...   Oct 21 2016, 09:46
|- - Allregia   Цитата(CrimsonPig @ Oct 21 2016, 10:46) Н...   Oct 21 2016, 10:35
|- - CrimsonPig   Цитата(Allregia @ Oct 21 2016, 11:35) Вы ...   Oct 21 2016, 11:03
- - Kabdim   Кмк проблема "юзер блал устаревший файл фирмв...   Oct 21 2016, 09:37
|- - jcxz   Раз это бутлоадер, то все эти танцы с бубнами и ФА...   Oct 21 2016, 12:07
|- - Allregia   Цитата(jcxz @ Oct 21 2016, 13:07) Раз это...   Oct 21 2016, 13:03
|- - jcxz   Цитата(Allregia @ Oct 21 2016, 16:03) Вот...   Oct 21 2016, 14:40
- - controller_m30   По поводу защиты от удаления, но не перезаписи. Уд...   Oct 21 2016, 10:07
- - gerber   Ещё можно делать ремаппинг на лету - пусть "В...   Oct 21 2016, 10:55
|- - Allregia   Цитата(gerber @ Oct 21 2016, 11:55) Ещё м...   Oct 21 2016, 11:36
- - XVR   2 ТС - ваша задача в общем случае не решается вооб...   Oct 21 2016, 12:42
- - Allregia   YAM, щiро дякую! C двумя LUN получилось велик...   Oct 22 2016, 08:32
|- - YAM   Цитата(Allregia @ Oct 22 2016, 11:32) YAM...   Oct 22 2016, 14:09
- - Allregia   Интересно - откуда берется ограничение на мин. раз...   Oct 22 2016, 15:10
|- - YAM   Цитата(Allregia @ Oct 22 2016, 18:10) Инт...   Oct 22 2016, 15:45
- - Allregia   Странно, я перебрал длину диска от 4К до 8К, т.е о...   Oct 22 2016, 17:02


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

 


RSS Текстовая версия Сейчас: 5th August 2025 - 00:51
Рейтинг@Mail.ru


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