Метод .setsector
| Назначение: | Записывает все 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: сбой физической флеш-памяти (критический). 4 - PL_FD_STATUS_INV_PARAM: указанный номер сектора находится в области прошивки/приложения флеш-памяти; доступ запрещён. 16 - PL_FD_STATUS_FLASH_NOT_DETECTED: флеш-микросхема не обнаружена при загрузке, объект fd. не может нормально работать. |
| См. также: | Прямой доступ к секторам, Совместное использование флеш-памяти приложением и данными, Совместная работа файлового и прямого доступа к секторам, fd.buffernum, fd.getbuffer, fd.setbuffer, fd.getsector, fd.checksum, fd.copyfirmware, fd.copyfirmwarelzo |
| Часть | Описание |
| num | Логический номер сектора, в который записываются данные (логические номера идут в обратном порядке: запись в логический сектор 0 на деле означает запись в последний физический сектор флеш-микросхемы). Допустимый диапазон: 0 - fd.availableflashspace - 1. |
Подробности
В области данных флеш-памяти может находиться отформатированный флеш-диск. Запись в сектор, принадлежащий флеш-диску, при смонтированном диске автоматически размонтирует его (устанавливает fd.ready = 0 - NO) и может сделать диск непригодным к использованию.
Метод всегда обращается к указанному целевому сектору, а не к его кэшированной копии, даже если выполняется дисковая транзакция (fd.transactionstarted = 1 - YES) и целевой сектор уже кэширован.