30 lines
1.3 KiB
Plaintext
30 lines
1.3 KiB
Plaintext
|
SDMMC Subsystem Test
|
||
|
##################
|
||
|
|
||
|
This test is designed to verify the SD subsystem stack implementation,
|
||
|
and run stress tests to verify large data transfers succeed using the
|
||
|
subsystem. Due to the differences between underlying SD host controller drivers,
|
||
|
this test also serves as a complete test for the SDHC driver implementation in
|
||
|
use. It requires an SD card be connected to the board to pass, and will
|
||
|
perform destructive I/O on the card, wiping any data present. The test has
|
||
|
the following phases:
|
||
|
|
||
|
* Init test: verify the SD host controller can detect card presence, and
|
||
|
test the initialization flow of the SDMMC subsystem to verify that the stack
|
||
|
can correctly initialize an SD card.
|
||
|
|
||
|
* IOCTL test: verify the SD subsystem correctly implements IOCTL calls required
|
||
|
for block devices in Zephyr.
|
||
|
|
||
|
* Read test: verify that single block reads work, followed by multiple
|
||
|
block reads. Ensure the subsystem will reject reads beyond the end of
|
||
|
the card's stated size.
|
||
|
|
||
|
* Write test: verify that single block writes work, followed by multiple
|
||
|
block writes. Ensure the subsystem will reject writes beyond the end of
|
||
|
the card's stated size.
|
||
|
|
||
|
* R/W test: write data to the SD card, and verify that it is able
|
||
|
to be read back without error. Perform this R/W combination at several
|
||
|
sector locations across the SD card.
|