以i.MX6ULL为例 Linux memtool工具用法

对于硬件攻城狮来说,用这个工具进行简单测试还是特别方便的,写成shell脚本更是爽歪歪。知道这个再也不用甜言蜜语的求软件攻城狮啦。

memtool的用法如下所示。

root@imx6ul7d:~# /unit_tests/memtool
Usage:

Read memory: memtool [-8 | -16 | -32]
Write memory: memtool [-8 | -16 | -32] =

List SOC module: memtool *. or memtool .
Read register:  memtool UART1.*
                memtool UART1.UMCR
                memtool UART1.UMCR.MDEN
                memtool UART1.-
Write register: memtool UART.UMCR=0x12
                memtool UART.UMCR.MDEN=0x1
Default access size is 32-bit.

Address, count and value are all in hex.

To support autocompete feature please run below command:
     complete -o nospace -C /unit_tests/memtool memtool

 

让我们以i.MX6ULL为例举个栗子。

查看i.MX6ULL的手册得知DDR地址为0x8000_0000到0xffff_ffff。所以可以对DDR芯片进行读写操作(写操作有风险,使用请谨慎)。 

 读DDR如下。写我就不试了,大家可以套用上文中的用法。

root@imx6ul7d:~# /unit_tests/memtool 0x80000000 10
E
Reading 0x10 count starting at address 0x80000000

0x80000000:  000081ED 0000253C 605BCBC9 5FD9DB33
0x80000010:  5FAFF038 00000000 00010000 00000018
0x80000020:  00080000 00000000 0001F30A 00000004
0x80000030:  00000000 00000000 00000003 00006CCE

这个工具不止可以访问DDR,它还可以配置寄存器。以i.MX6ULL的GPIO1_IO04为例 。寄存器地址可以从参考手册中找到。

root@imx6ul7d:~# /unit_tests/memtool 0x020E006C 1                //查看GPIO1_IO04的MUX
E
Reading 0x1 count starting at address 0x020E006C

0x020E006C:  00000005                                                                //5是MUX到GPIO功能

root@imx6ul7d:~# /unit_tests/memtool 0x0209C004 1                  //查看GPIO1_IO04方向
E
Reading 0x1 count starting at address 0x0209C004

0x0209C004:  00000300                                                                

root@imx6ul7d:~# /unit_tests/memtool 0x0209C004=0x310          //设置GPIO1_IO04为输出
Writing 32-bit value 0x310 to address 0x0209C004
root@imx6ul7d:~#

你可能感兴趣的:(软件设计,大数据,linux,memtool,i.MX6ULL,嵌入式)