MicroPython:Библиотеки/pyb/Класс Flash: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 10: Строка 10:


== Конструкторы ==
== Конструкторы ==
* [[MicroPython:Библиотеки/pyb/Класс Flash/pyb.Flash()|pyb.Flash()]]


* Класс pyb.Flash() – создает и возвращает блочное устройство, обозначающее flash-устройство, вставленное в USB-разъем.
* Класс pyb.Flash() – создает и возвращает блочное устройство, обозначающее flash-устройство, вставленное в USB-разъем.

Версия от 10:19, 6 октября 2020

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Класс Flash – доступ к встроенной flash-памяти[1]

Класс Flash предоставляет прямой доступ к главному flash-устройству PyBoard.

В большинстве случаев для долговременного хранения данных на устройстве лучше воспользоваться высокоуровневыми абстрактными конструкциями – например, файловой системой через стандартный файловый API языка Python. Но класс Flash будет полезен, если вам нужно модифицировать настройки файловой системы или сделать для вашего приложения низкоуровневую систему хранения данных.

Конструкторы

  • Класс pyb.Flash() – создает и возвращает блочное устройство, обозначающее flash-устройство, вставленное в USB-разъем.

В нем на старте имеется виртуальная таблица разделов, а сама flash-память начинается с блока 0x100. Этот конструктор устарел и будет удален в одной из будущих версий MicroPython.

  • Класс pyb.Flash(*, start=- 1, len=- 1) – создает и возвращает блочное устройство, получающее доступ к flash-памяти на заданном смещении. По умолчанию размером будет оставшееся место на устройстве.

Смещения в аргументах start и len задаются в байтах, и это должны быть значения, кратные размеру блока (для внутренней flash-памяти это обычно 512 байт).

Методы

  • Flash.readblocks(block_num, buf), Flash.readblocks(block_num, buf, offset), Flash.writeblocks(block_num, buf), Flash.writeblocks(block_num, buf, offset), Flash.ioctl(cmd, arg) – в этих методах реализован простой и расширенный блочные протоколы, заданные в классе uos.AbstractBlockDev.

Примечание

На платах с внешней flash-памятью со SPI-шиной (например, PyBoard D) прошивка MicroPython настроена на использование именно этой памяти в качестве главного flash-хранилища. На всех других платах будет использована внутренняя flash-память микроконтроллера.


<syntaxhighlight lang="python" enclose="div">

См.также

Внешние ссылки