Метод .getsector
| Назначение: | Читает все 264 байта указанного сектора в выбранный в данный момент RAM-буфер флеш-памяти (выбор выполняется через свойство fd.buffernum). |
| Синтаксис: | fd.getsector(num as word) as pl_fd_status_codes |
| Возвращает: | Один из следующих pl_fd_status_codes; значение также влияет на состояние fd.laststatus: 0 - PL_FD_STATUS_OK: выполнено успешно. 1 - PL_FD_STATUS_FAIL : сбой физической флеш-памяти (критический). 16 - PL_FD_STATUS_FLASH_NOT_DETECTED: флеш-микросхема не обнаружена при загрузке, объект fd. не может нормально работать. |
| См. также: | Прямой доступ к секторам, Совместная работа файлового и прямого доступа к секторам, fd.buffernum, fd.getbuffer, fd.setbuffer, fd.setsector, fd.checksum, fd.copyfirmware, fd.copyfirmwarelzo |
| Часть | Описание |
| num | Логический номер сектора, из которого читаются данные (логические номера идут в обратном порядке: чтение из логического сектора 0 на деле означает чтение из последнего физического сектора флеш-микросхемы). |
Подробности
Все файловые операции флеш-диска тоже загружают данные в RAM-буферы. Каждый раз перед прямым доступом к секторам с помощью этого или смежных методов переключайтесь на RAM-буфер №0 - так вы не повредите файлы и/или файловую систему и не вызовете размонтирование диска (fd.ready станет равным 0 - NO).
Метод всегда обращается к реальному указанному целевому сектору, а не к его кэшированной копии, даже если выполняется дисковая транзакция (fd.transactionstarted = 1 - YES) и целевой сектор уже кэширован.