16+
Среда
17 января
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

ARM-контроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Николай Коровин  (24.12.2017 15:37 - 24.12.2017 15:40) , в ответ на Как я понял выхлоп обсуждения, уже делали всё. FAT и rootdir только на чтение (захардкодено выдавать имитацию), любая перезапись проглатывается и игнорируется. Поскольку кластер один, тело файла посекторно мапится в EEPROM однозначно и автор: Николай Коровин
В принципе, можно сделать отдачу на чтение любого числа и объёма файлов, генерирующихся «на лету», главное, чтобы на запись был один файл из одного кластера. Берём виртуальную дискету (образ), монтируем, записываем туда сначала RW-нанофайл, потом 
«рыбы» всех RO-файлов, ставим им атрибут RO, размонтируем. Открываем в хексе образ, метим все остальные (свободные) кластеры как бэды. Монтируем, проверяем, чтобы свободного места было 0, размонтируем. Смотрим в хексе образ, разбиваем на три части: генерируемая служебная область, натуральный файл из одного кластера, генерируемая файловая область RO-файлов. Хардкодим первую часть: на чтение отдавать FAT и Root Dir по типу «если запросили сектор N, то отдаём один-два-сто восемь-дальше заполняем повторяющейся структурой», на запись отвечать «всё-всё сделано» и ничего не делать (ОС может разными способами менять наш микрофайл, скажем, сделать его NAME.EXT стёртым хAME.EXT и создать заново, или просто сразу тело записать, не трогая, смотря с какого боку оператор подошёл). Это можно игнорить, потому что под тело есть всего один кластер, остальное занято. Вторую часть мы честно читаем и пишем. Это и есть наши настройки. Если мы смелые и сильные, то мы можем парсить там текст и выдавать в ответ тоже текст (главное, чтобы по границе секторов не прошло). Тогда этот файл тоже получается генерируемым, а из настроечного софта остаётся один Блокнот. Третью часть мы на чтение тоже генерируем «на лету» в произвольном порядке (текстовые логи, графики в .BMP и прочее, превышающее всю наличную память на пару порядков). В случае записи возвращаем sector write error, чтобы хоть как-то объяснить оператору, что он кретин. Поскольку мы всё после окончания третьей части пометили как bad, то смело на чтение и запись их возвращаем всегда ошибку сектора. Ну, против форматирования и записи произвольного файлового говна ничего не поможет, как и против упорного стирания ReadOnly-файлов, но случайно это не сделаешь, а кретин может и просто вместо настроек мусор насыпать. Упорный кретинодестрой не считается. Где-то в старом треде была ссылка на статью каких-то разрабов, сделавших сие чьЮдо.
 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII