mimxrt — NXP i.MXRT:lle ominaiset toiminnot¶
mimxrt -moduuli sisältää NXP i.MXRT -mikro-ohjainperheelle ominaisia funktioita ja luokkia.
Luokat¶
- class mimxrt.Flash¶
Hae singleton-olio, joka tarjoaa sisäänrakennetun QSPI-flash-muistin käyttäjätallennusalueen
vfs.AbstractBlockDev-yhteensopivana lohkolaitteena. Lohkonumerot ovat suhteessa kyseisen alueen alkuun, ei flash-muistin fyysiseen alkuun.Useimmissa tapauksissa pysyvän datan tallentamiseen laitteelle kannattaa käyttää korkeamman tason abstraktiota – esimerkiksi tiedostojärjestelmää Pythonin standardin tiedosto-API:n kautta. Tämä rajapinta on hyödyllinen, kun haluat mukauttaa tiedostojärjestelmän kokoonpanoa tai toteuttaa matalan tason tallennusjärjestelmän sovellustasi varten.
Olio toteuttaa myös puskuriprotokollan, mikä mahdollistaa vain luku -muistikartoitetun pääsyn koko flash-tallennusalueeseen QSPI XIP -perustan kautta. Tämä tekee alueesta saataville nollakopioisen näkymän suorittamatta yhtäkään flash-lukua:
flash = mimxrt.Flash() view = memoryview(flash) magic = bytes(view[:4]) # read the first 4 bytes directly from XIP
Taustalla olevien flash-sektoreiden käyttämä lohkokoko voidaan kysyä ajonaikaisesti komennolla
ioctl(5, 0).- readblocks(block_num: int, buf: bytearray) None¶
- readblocks(block_num: int, buf: bytearray, offset: int) None
Lue tavuja flash-muistista
buf-puskuriin. Kaksi ylikuormitusta tarjoaa yksinkertaisen ja laajennetun rajapinnan:Yksinkertainen muoto (
readblocks(block_num, buf)): lukee kokonaisia lohkoja alkaen lohkoindeksistäblock_num.len(buf)täytyy olla flash-lohkokoon monikerta.Laajennettu muoto (
readblocks(block_num, buf, offset)): lukeelen(buf)tavua – ei välttämättä kokonaista lohkomäärää – alkaen tavukohdastaoffsetlohkonblock_numsisällä.len(buf)ei ole tasausrajoituksia.
- writeblocks(block_num: int, buf: bytes) None¶
- writeblocks(block_num: int, buf: bytes, offset: int) None
Kirjoita tavuja
buf-puskurista flash-muistiin. Kaksi ylikuormitusta tarjoaa yksinkertaisen ja laajennetun rajapinnan:Yksinkertainen muoto (
writeblocks(block_num, buf)): kirjoittaa kokonaisia lohkoja alkaen lohkoindeksistäblock_num.len(buf)täytyy olla flash-lohkokoon monikerta. Jokainen vaikuttava lohko tyhjennetään automaattisesti ennen kirjoittamista.Laajennettu muoto (
writeblocks(block_num, buf, offset)): kirjoittaalen(buf)tavua – ei välttämättä kokonaista lohkomäärää – alkaen tavukohdastaoffsetlohkonblock_numsisällä.len(buf)ei ole tasausrajoituksia, ja implisiittistä tyhjennystä ei suoriteta – kutsujan on varmistettava, että vaikuttavat lohkot on tyhjennetty aiemmallaioctl(6, block_num)-kutsulla.Aiheuttaa
OSError-poikkeuksen, jos taustalla oleva flash-muistin tyhjennys- tai kirjoitusoperaatio epäonnistuu.
- ioctl(cmd: int, arg: int) int | None¶
Standardin
vfs.AbstractBlockDevioctl-sisääntulokohta. Katsovfs.AbstractBlockDev.ioctl()saadaksesi täydellisen luetteloncmd-arvoista.cmd=5palauttaa flash-lohkokoon tavuina;cmd=6tyhjentää lohkon, jonka indeksi onarg.