Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 03.09.2011, 12:01  
spinach83
Временная регистрация
 
Аватар для spinach83
 
Регистрация: 30.03.2009
Сообщений: 71
Сказал спасибо: 23
Сказали Спасибо 26 раз(а) в 25 сообщении(ях)
spinach83 на пути к лучшему
По умолчанию FAT16

Есть бинарный образ диска во флеш, соединяющийся в процессе работы приложения через Layer с буферомОзу с пересчётом смещений и функциями постраничного чтения/записи, с которым уже работает порт, передающий хосту запрошенные данные. Необходимо найти абсолютное байтовое смещение в образе той "точки" где конец системной области сменяется областью данных. как это сделать? Си. Размер сектора - 512
Реклама:

Последний раз редактировалось spinach83; 03.09.2011 в 12:28.
spinach83 вне форума  
Непрочитано 03.09.2011, 14:41  
spinach83
Временная регистрация
 
Аватар для spinach83
 
Регистрация: 30.03.2009
Сообщений: 71
Сказал спасибо: 23
Сказали Спасибо 26 раз(а) в 25 сообщении(ях)
spinach83 на пути к лучшему
По умолчанию Re: FAT16

Нашёл ответ, тему можно закрывать

first_data_sector = fat_boot-›reserved_sector_count + (fat_boot-›table_count * fat_boot-›table_size_16);

first_data_offset = first_data_sector * fat_boot-›BytesPerSector

In my case the result was 0x600


-----------------------------------------------------------------------------
Хотя я поспешил доверять источнику. В другом источнике по другому считается. Безобразие

DataRegion = RootDirectoryRegion + ((RootEntriesCount * 32) / BytesPerSector)
3 + (16*32)/512 = 4
4 сектора/кластера по 512 байт, итого смещение должно выйти 0х800, что соответствует содержимому образа, а по той формуле 0х600, что не соответствует содержимому

Последний раз редактировалось spinach83; 03.09.2011 в 22:06.
spinach83 вне форума  
Непрочитано 04.09.2011, 08:56  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: FAT16

Смотреть сюда:
Цитата:
Microsoft Extensible Firmware Initiative FAT32 File System Specification
FAT: General Overview of On-Disk Format
Там и описание всех фатов и примеры кодов.
uk8amk вне форума  
Сказали "Спасибо" uk8amk
spinach83 (04.09.2011)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продукция mikroElektronika vasseff Микроконтроллеры, АЦП, память и т.д 407 11.06.2015 21:42


Часовой пояс GMT +4, время: 02:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot