本章主要学习了硬件抽象层:HAL。 Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间, ...
分类:
移动开发 时间:
2016-06-27 23:05:41
阅读次数:
232
第十章主要学到嵌入式Linux的调试技术。 首先我学到了应该打印内核调试信息:printk。printk 函数在前面的章节己多政使用过。该函数的用法与printf函数类似,具不过printk函数运行内核空间,printk函数运行在用户空间。也就是说,像Linux驱动这样的Linux内核程序只能使用p ...
分类:
其他好文 时间:
2016-06-27 16:56:22
阅读次数:
178
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。 Linux内核地址空间划分 通常32位Linux内核地址空间划分0~3G为用户空 ...
分类:
系统相关 时间:
2016-06-26 21:06:26
阅读次数:
232
在 Linux 文件系统中, /proc 经常被用来作为内核空间与用户空间进行数据交=EE的工具。/proc 文件系统的行为方式与设备文件系统 C/dev)类似。/proc 是虚拟文件系统,也就是说了 /proc 并不 是真正的文件系统,而是内存映射。 所有读写/proc_l¥J操作都是对内存的读写 ...
分类:
其他好文 时间:
2016-06-25 22:57:35
阅读次数:
156
嵌入式Linux的调试技术 本章主要介绍如何利用开发板,Android模拟器以及一些函数、工具(gdb,gdberver以及kgdb)调试嵌入式Linux内核模块、可执行程序和共享库。 Printk函数,该函数的用法和printf函数类似,只不顾printk函数运行在内核空间,printf函数运行在 ...
分类:
移动开发 时间:
2016-06-24 14:33:01
阅读次数:
166
1对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试。例如设置断点、逐步跟踪代码、输出调试信息等。 2打印内核调试信息:printk,该函数与printf用法类似,但是printk运行在内核空间,而printf运行在用户空间。 3printk文件是一个简单的有4个数字组成的文本文 ...
分类:
系统相关 时间:
2016-06-24 09:15:12
阅读次数:
204
在rhel7中的众多变化之中,就有早先的ISCSI
目标程序tgtd被抛弃,替换为的新的Linux-IO(lio),lio是一个是一个内核空间的iscsitarget。(详见http://linux-iscsi.org/wiki/ISCSI)安装iscsitarget服务:yum
-yinstalltargetcli启动服务:systemctlstarttarget设置服务开机自..
分类:
其他好文 时间:
2016-06-20 15:56:23
阅读次数:
1442
(一) 打印内核调试信息:printk Printk函数用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间,printk函数在printk.c文件中实现。 Printk函数的原型如下:asmlinkage int printk(const char *f ...
分类:
系统相关 时间:
2016-06-19 22:53:57
阅读次数:
216
RHEL7里面的目录结构 /bin 可执行文件(可执行应用程序)。RHEL7里面/bin目录软链接到了/usr/bin /boot 和系统启动相关东西(相当于windows的100M启动分区) /dev 用户来控制内核,内核管理硬件,内核才可访问硬件。用户空间(用户管理,内核发生了映射)、内核空间( ...
分类:
其他好文 时间:
2016-06-19 01:16:12
阅读次数:
196
心得体会:本章主要讲嵌入式Linux的调试技术。对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试。刚开始讲了打印内核调试信息:printk,这个函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。执行完相关的命令后,会要求选择 ...
分类:
其他好文 时间:
2016-06-16 23:03:31
阅读次数:
212