android深度探索 HAL及驱动开发 第十章

第十章 读书笔记

一、打印内核调试信息:printk

printf函数运行在用户空间。执行完相关的命令后,会要求选择在Ubuntu Linux上,还是在Android设备上运行。

二、通过虚拟文件系统进行数据交互

proc_mkdir函数、create_proc_entry函数、creat_proc_read_entry函数和remove_proc_entry函数是相关的四个函数。

creat_proc_read_entry函数函数在内部是通过调用create_proc_entry函数实现的。

三、gdbserver调试程序。

用kgdb远程调试内核程序,它除了提供类似printk函数的日记输出功能,还允许开发人员直接在PC上通过gdb链接目标设备。在设置完Linux内核的启动参数后,本机就可以使用gdb命令向调试普通嵌入式应用程序一样调试Linux内核,用各种.gdb命令进行Linux内核调试。

首先进入Android模拟器的终端,然后进入data目录。并执行相关的命令启动gdbserver监听程序。下面再开启另一个终端,软后用命令将外部访问模拟器的端口的数据包转发到模拟器的内部端口。

四:List命令的3种调用格式

list、list_、和list n 三种格式,首先使用list命令显示代码。执行上面的命令会进入gdb控制台,然后执行相关的命令连接Android模拟器。

五、防止printk函数降低Linux驱动性能

目的只要是实现控制printk函数的输出。

原文地址:https://www.cnblogs.com/haihaizhazha/p/5626999.html