zoukankan      html  css  js  c++  java
  • Android深度探索--HAL与驱动开发第十章读后感

    嵌入式linux的调试技术,对于复杂的linux驱动及HAL等程序库,需要使用各种方法进行调试,如设置断点,逐步跟踪代码,输出调试信息等。本章主要介绍如何利用开发板、android模拟器以及一些函数、工具调试嵌入式linux内核模块、可执行文件和共享库。

    Printk函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也就是说,像Linux驱动这样的Linux内核程序只能使用printk函数输出调试信息。Printk函数在printk.c文件中实现。Printk文件是一个简单的有4个数字组成的文本文件,4个数字含义分别如下:

    6:将消息输出到控制台的级别,只有高于该级别的输出信息才可以被输出到控制台。

    4:默认的消息日志级别,如果不在printk函数制定日志级别,就会使用该值作为默认的级别。

    1:控制台日志级别可以被设置的最小值。

    7:控制台级别级别默认值。

    在Linux文件系统中,/proc经常被用来作为内核空间与用户空间进行数据交互的工具。/proc文件系统的行为方式与设备文件系统(/dev)类似。/proc是虚拟文件系统,也就是说,/proc并不是真正的文件系统,而是内存映射。所有读写/proc操作都是对内存的读写。所以读写/proc文件系统的速度远比读写/dev文件系统的速度快。因此,/proc文件系统也可以作为Linux驱动与用户空间程序交互的工具。

    Linux内核调试一直被人们认为是非常困难的,大多数人一般都会直接使用peintk函数输出调试,不愿意使用各种命令进行调试,因为这样做有可能换不回更多的好处。

  • 相关阅读:
    OnEraseBkgnd、OnPaint与画面重绘
    .编译ADO类DLL时报错的解决方案
    VC列表框样式
    Codeforces 131D. Subway 寻找环树的最短路径
    Codeforces 103B. Cthulhu 寻找奈亚子
    Codeforces 246D. Colorful Graph
    Codeforces 278C. Learning Languages 图的遍历
    Codeforces 217A. Ice Skating 搜索
    Codeforces 107A. Dorm Water Supply 搜图
    Codeforces 263 D. Cycle in Graph 环
  • 原文地址:https://www.cnblogs.com/cui8171/p/5641042.html
Copyright © 2011-2022 走看看