第十章心得体会

对于复杂的Linux 驱动及HAL 等程序库,需要使用各种方法对其进行调试。

例如,设置断点、逐步跟踪代码、-输出调试值息等。虽然嵌入式Linux

在调试方面并没有Visual Studio Delphi Eclipse这些可视偌工具方便,但

学习一些这方面的技术无疑更有助于开发强大而稳定的Linux 内核模块。

对于嵌入式Linux 内核模块、可执行程序、共享库的调试可能要更复杂一

些。因为在大多数时候需要至少两台机器(开发机和目标机)用于调试。

在本章将主要介绍如何利用开发板,Android 模拟器以及一些函数、工具

gdbgdoserver 以及kgdb)调试嵌入式Linux- 内核模块、可执行程序和

共享库。

虽然使用printk 函数可以很方便地将消息写入日志文件或控制台。但大量

使用printk 函数频繁操作日志文件或控制台设备文件(/dev/console)会严

重影响Linux 驱动的性能(因为写磁盘的速度远没有读写内存的速度快〉,

因此,这就要求Linux 驱动只在开发阶段使用printk 函数输出消息,在正式

友布Linux 驱动时将可能影响性能的printk 函数去掉. 当然,最容易想到的

方法就是挨个删除printk 函数,或注释printk 函数。但这样做很麻烦,而且

以后想加上printk 函数也是同样麻烦。要想控制printk 函数的输出,而且实

现起来很方便, 最好的方法无疑是利用C 语言中的编译指令(#if#else 、#endif 等〉。

原文地址:https://www.cnblogs.com/zhuhongchao/p/5633136.html