ST B-M2MEM-PACK1 M.2 serial memory pack
Overview
The ST B-M2MEM-PACK1 is a family of M.2 serial memory add-on boards for Nucleo-144 development boards that expose the ST M.2 Key A serial memory connector.
In Zephyr, each populated memory module is modeled as a separate shield variant. All variants share a common identification EEPROM on the M.2 I2C bus and expose one serial NOR flash device on the M.2 XSPI bus.
Supported variants
Shield |
Module |
Serial NOR |
Bus mode |
Capacity |
IO rail |
|---|---|---|---|---|---|
|
MB1927-33BA |
MX25LM51245GXDI00 |
Octal STR |
512 Mbit |
3.3 V |
|
MB1927-18BA |
MX25UW25645GXDI00 |
Octal STR |
256 Mbit |
1.8 V |
|
MB1928-33LA |
IS25LP032DJNLE-TR |
Quad STR |
32 Mbit |
3.3 V |
|
MB1928-33LB |
W25Q16JVSNIQ |
Quad STR |
16 Mbit |
3.3 V |
Requirements
This shield family can be used with any board that provides the ST M.2 serial memory connector and exports the board-side Devicetree labels used by the shields:
m2mem_i2cfor the identification EEPROM busm2mem_xspifor the serial NOR interfacem2mem_ldo_enfor module power-cycle/reset control
The current in-tree host-board implementation is nucleo_u3c5zi_q.
Programming
Select the wanted shield variant when invoking west build. For example:
west build -b nucleo_u3c5zi_q --shield b_m2mem_pack1_mb1928_33lb samples/basic/blinky
To build one of the other modules, replace the shield name with one of:
b_m2mem_pack1_mb1927_33bab_m2mem_pack1_mb1927_18bab_m2mem_pack1_mb1928_33lab_m2mem_pack1_mb1928_33lb
Regardless of the selected variant, the shield exposes its serial NOR device
under the stable m2mem_flash Devicetree label, so an application or sample
can target it consistently (for example through a flash0 alias). The device
can be explored with the Flash shell sample. The common
identification EEPROM is described in Devicetree and can be accessed by
applications through the EEPROM driver API.
References
ST documentation for the pack and connector includes: