debug信息
================

hbmem支持通过sys节点查询相关debug信息。

如何查看当前ION内存分配情况
---------------------------------
.. code:: shell

  cat /sys/kernel/debug/ion/heaps/ion_cma
  cat /sys/kernel/debug/ion/heaps/cma_reserved
  cat /sys/kernel/debug/ion/heaps/carveout
  cat /sys/kernel/debug/ion/heaps/all_heap_info

如何查看当前的ION预留内存的情况
-----------------------------------

其中ION_HEAP_TYPE_CARVEOUT（HB_MEM_USAGE_PRIV_HEAP_RESERVED）、ION_HEAP_TYPE_CMA_RESERVED（HB_MEM_USAGE_PRIV_HEAP_2_RESERVED）和 ION_HEAP_TYPE_DMA（HB_MEM_USAGE_PRIV_HEAP_DMA）heap的预留情况也可以查看启动日志，如下所示，第一行代表ION_HEAP_TYPE_CARVEOUT的起始地址和大小，第二行代表ION_HEAP_TYPE_CMA_RESERVED的起始地址和大小，第三行代表ION_HEAP_TYPE_DMA的起始地址和大小：

.. image:: ./media/image3.png
   :align: center
   :alt:

如何直接读写内存
-------------------

使用devmem工具可以直接访问内存
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code:: shell

  devmem -h


.. image:: ./media/image17.png
   :align: center
   :alt:

直接写入内存
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code:: shell

  devmem 0xE0000000 32 0x12345678


.. image:: ./media/image18.png
   :align: center
   :alt:

读取内存
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code:: shell

  devmem 0xE0000000


.. image:: ./media/image19.png
   :align: center
   :alt:
