MicroPython:Библиотеки/pyb/Класс Flash: различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[]</ref>= <syntaxhighlight lang="python"...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[]</ref>= | =Класс Flash – доступ к встроенной flash-памяти<ref>[http://docs.micropython.org/en/latest/library/pyb.Flash.html docs.micropython.org - class Flash – access to built-in flash storage]</ref>= | ||
Класс Flash предоставляет прямой доступ к главному flash-устройству PyBoard. | |||
В большинстве случаев для долговременного хранения данных на устройстве лучше воспользоваться высокоуровневыми абстрактными конструкциями – например, файловой системой через стандартный файловый API языка Python. Но класс Flash будет полезен, если вам нужно [http://docs.micropython.org/en/latest/reference/filesystem.html#filesystem модифицировать настройки файловой системы] или сделать для вашего приложения низкоуровневую систему хранения данных. | |||
== Конструкторы == | |||
* Класс 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) – в этих методах реализован простой и [http://docs.micropython.org/en/latest/library/uos.html#block-device-interface расширенный] блочные протоколы, заданные в классе uos.AbstractBlockDev. | |||
== Примечание == | |||
На платах с внешней flash-памятью со SPI-шиной (например, PyBoard D) прошивка MicroPython настроена на использование именно этой памяти в качестве главного flash-хранилища. На всех других платах будет использована внутренняя flash-память микроконтроллера. | |||
Версия от 10:18, 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">