Вход

Просмотр полной версии : Структура данных Nand-памяти Flash0


ErikPshat
27.04.2009, 16:42
Вот я установил прошивку 5.50 OFW и смонтировал Flash0.
Доступ к Flash0 вы можете получить исходя из этой темы (http://www.pspx.ru/forum/showthread.php?t=81243).

Самый первый сектор - нулевой. Это начинается MBR флешки, судя по признакам FAT 12:

http://i034.radikal.ru/0904/59/0e3c588c1403.pngА данные начинаются в 32-ом секторе:

http://s42.radikal.ru/i095/0904/4f/bc7dd1b355c3.pngДалее данные записаны в 64-ом секторе. Они полностью идентичны данным из 32-го сектора:

http://s55.radikal.ru/i149/0904/35/3fdfe7c35fd5.pngВ 96-ом секторе прописана структура папок. Получается, данные записываются блоками по 32 сектора. Умножим на 512 байт/сектор, получим 16384 байт в блоке. Разделим на 1024, получим ровно 16 килобайт в блоке.

http://s54.radikal.ru/i143/0904/bf/2c319794ed6c.pngЗатем в 128-ом секторе (96+32) идут подпапки:

http://s39.radikal.ru/i084/0904/13/9dc8f164c0a9.pngЗатем в 160-ом секторе (128+32) прописаны пути к самим файлам:

http://s40.radikal.ru/i087/0904/02/4ebd94060998.pngЗатем в 192-ом секторе (160+32) идут уже сами файлы. Каждый файл обязательно берёт начало в секторе, кратном 32. Если даже конец файла находится в 33-ем блоке секторов, то остальные 31 сектор остаются пустыми. Вот такое нерациональное использование места во Flash0.

http://s48.radikal.ru/i122/0904/41/36f24070b66b.pngВсего Flash0 на FAT содержит ровно 49118 секторов, умножить на 512 байт/сектор равно 25148416 байт, разделить на 1024, получим 24559 Килобайт.

http://i035.radikal.ru/0904/22/c9b9474b8215.pngВот такая вот структура получается.

kolio
08.07.2010, 10:23
получается, что прошивка не может быть больше 25148416 байт ?
или если, что они перераспределят место для flash0, но откусят от flash1 например?

Yoti
08.07.2010, 10:33
Суммарный объём файлов не может превышать выделенное место, это очевидно. В сам файл EBOOT.PBP входят специфические модули для разных моделей, поэтому его размер не ограничен (в теории).