代码改变世界

安卓移植和驱动开发第十章心得体会

2016-07-08 12:11  软件1304孙涛  阅读(175)  评论(0编辑  收藏  举报

对于复杂的 Linux 驱动及 HAL等程序库,需要使用各种方法对其进行调试。 例如,设置断点、 逐步跟踪代码、-输出调试值息等。虽然嵌入式Linux在调试方面并没有 Visual Studio、 Delphi、 Eclipse 这些可视偌工其荒便,但学习一些这方面的技术无疑更奇脚手亮发强款而稳定的 Linux 内核模块←对 于嵌入式 Linux 内核模块、对于嵌入式的调试可能要更复杂一些。因为有时候需要至 少两台机器(开发机和-目标机)用于调试将主要介绍如何利用开发板之 Android模拟器以及 一些函接、工具(gdb、 gdoserver 以及 kgdb)调试嵌入式 Linux-内核模侠、 可执行序和共享库。

如果想让 printk 函数将消息输出 ; 到控制台.还需要另外一个条件,就是要求在字符界面下操作.如果读者使用 Ubuntu,会进入字符界面的控制台,这时再执行 build基础脚本 的文件,就会在控制台输出相应的消息了了。printk 函数在控制台(也称为终端)显示消息是通过/dev/console 设备文件实现 ,该设备文件只在字符界面的控制台下才起作用p,所以 printk 函数只有用在字符界面的控制台上才能正常输出消息。

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

Linux内核调试一直被很多人认为是非常困难的。大多数人宁愿直接使用printk 函数输出调试信息也不愿意使用各种命令  (gdb、 gdbserv~r.、.kgdb等)进行调试。因为这样做并不一定能换来更多的好处。’除了介绍传统的 printk 函数调试技术外,也介绍了其他的调试技术。这些调试技术并不一定都要用到,可根据实际f青况决定使用其中的一种或几种。希望在以后的实验中可以用到这些技术。

http://www.cnblogs.com/suntao123/