Overview
The document describes the procedure to measure the memory to memory copy performance by using SDMA on i.MX6Q.
Materials
- i.MX6Q Sabre SD board
- L3.0.35_4.1.0_130816 BSP
Procedure
- Install BSP and build kernel
- Extract imx unit test source:
- ./ltib -p imx-test -m prep
- Apply attached patch to sdma memcopy code
- cd ltib/rpm/BUILD/imx-test-3.0.35-4.1.0
- patch -p1 -i LTIB_4.1.0_sdma_m2m_test.patch
- Build imx unit test
- Copy kernel and rootfs to SD Card.
- Boot kernel and login
- Insert the kernel module for SDMA memory copy test:
- insmod /lib/modules/XXX/test/mxc_sdma_memcopy_test.ko
- Start SDMA memory copy test
- /unit_tests/mxc_sdma_test.out
Result
root@freescale ~$ insmod /lib/modules/3.0.35-2666-gbdde708-g1c42f8b/test/mxc_sdma_memcopy_test.ko
SDMA test major number = 248
SDMA test Driver Module loaded
root@freescale ~$ /unit_tests/mxc_sdma_test.out
in dma_m2m_callback
65532byte / 0.003382sec
buffer 1 copy passed!
root@freescale ~$ /unit_tests/mxc_sdma_test.out
in dma_m2m_callback
65532byte / 0.003367sec
buffer 1 copy passed!
root@freescale ~$ /unit_tests/mxc_sdma_test.out
in dma_m2m_callback
65532byte / 0.003364sec
buffer 1 copy passed!
In summary, > 19Mbyte/sec