c737cde947
Anywhere a module is mentioned, use its "non-u" name for consistency. The "import module" vs "import umodule" is something of a FAQ, and this commit intends to help clear that up. As a first approximation MicroPython is Python, and so imports should work the same as Python and use the same name, to a first approximation. The u-version of a module is a detail that can be learned later on, when the user wants to understand more and have finer control over importing. Existing Python code should just work, as much as it is possible to do that within the constraints of embedded systems, and the MicroPython documentation should match the idiomatic way to write Python code. With universal weak links for modules (via MICROPY_MODULE_WEAK_LINKS) users can consistently use "import foo" across all ports (with the exception of the minimal ports). And the ability to override/extend via "foo.py" continues to work well. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
54 lines
1.8 KiB
ReStructuredText
54 lines
1.8 KiB
ReStructuredText
.. currentmodule:: pyb
|
|
.. _pyb.Flash:
|
|
|
|
class Flash -- access to built-in flash storage
|
|
===============================================
|
|
|
|
The Flash class allows direct access to the primary flash device on the pyboard.
|
|
|
|
In most cases, to store persistent data on the device, you'll want to use a
|
|
higher-level abstraction, for example the filesystem via Python's standard file
|
|
API, but this interface is useful to :ref:`customise the filesystem
|
|
configuration <filesystem>` or implement a low-level storage system for your
|
|
application.
|
|
|
|
Constructors
|
|
------------
|
|
|
|
.. class:: pyb.Flash()
|
|
|
|
Create and return a block device that represents the flash device presented
|
|
to the USB mass storage interface.
|
|
|
|
It includes a virtual partition table at the start, and the actual flash
|
|
starts at block ``0x100``.
|
|
|
|
This constructor is deprecated and will be removed in a future version of MicroPython.
|
|
|
|
.. class:: pyb.Flash(*, start=-1, len=-1)
|
|
:noindex:
|
|
|
|
Create and return a block device that accesses the flash at the specified offset. The length defaults to the remaining size of the device.
|
|
|
|
The *start* and *len* offsets are in bytes, and must be a multiple of the block size (typically 512 for internal flash).
|
|
|
|
Methods
|
|
-------
|
|
|
|
.. method:: Flash.readblocks(block_num, buf)
|
|
Flash.readblocks(block_num, buf, offset)
|
|
.. method:: Flash.writeblocks(block_num, buf)
|
|
Flash.writeblocks(block_num, buf, offset)
|
|
.. method:: Flash.ioctl(cmd, arg)
|
|
|
|
These methods implement the simple and :ref:`extended
|
|
<block-device-interface>` block protocol defined by
|
|
:class:`os.AbstractBlockDev`.
|
|
|
|
Hardware Note
|
|
-------------
|
|
|
|
On boards with external spiflash (e.g. Pyboard D), the MicroPython firmware will
|
|
be configured to use that as the primary flash storage. On all other boards, the
|
|
internal flash inside the :term:`MCU` will be used.
|