嵌入式Linux的调试技术 本章主要介绍如何利用开发板,Android模拟器以及一些函数、工具(gdb,gdberver以及kgdb)调试嵌入式Linux内核模块、可执行程序和共享库。 Printk函数,该函数的用法和printf函数类似,只不顾printk函数运行在内核空间,printf函数运行在 ...
分类:
移动开发 时间:
2016-07-08 13:45:58
阅读次数:
219
HAL ( Hardware Abstraction Layer,硬件抽象腔,〉是建立在Linux驱动之上的一套翻字库。这套程序 j率并不属于 Linux 内核, 而是属于 Linux 内核层之上的应用层。 Google 为 Android 增加 HAL 的主要目 的除了尽量避免应用程序直接访问 L ...
分类:
移动开发 时间:
2016-07-08 13:42:23
阅读次数:
146
PWM蜂鸣器驱动 C或C++语言中编译多个源代码文件时,如果a.c使用了b.c文件中的函数,需要a.c文件中使用 extern预先定义b.c中的函数,extern的作用就是告诉编译器该函数的函数名、参数个数、参数类型和返回值类型。这些信息对于将a.c编译成a.o已经足够了,等到将a.o和 b.o 链 ...
分类:
移动开发 时间:
2016-07-08 13:38:15
阅读次数:
130
Linux 驱动的代码重用有很多种方法。可以采用标准 C程序的方式。将要重用的代码放在其他 的文件 (在头文件中声明〉中。 如果要使用某些功能, include 相应的头文件即可〈这种方式称为 静态重用〉。也可以使用另外一种动态重用的方式,也就是一个 Linux 驱动可以使用另外←个 Linux 驱 ...
分类:
移动开发 时间:
2016-07-08 13:37:51
阅读次数:
125
本章主要讲了嵌入式Linux的调试技术。 (一)打印内核调试信息:printk Printk函数用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间,printk函数在printk.c文件中实现。 Printk函数的原型如下:asmlinkage int ...
分类:
移动开发 时间:
2016-07-07 22:29:09
阅读次数:
154
(一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数、变量、宏等) 1、编译是由多个文件组成的Linux驱动(静态重用) 对于复杂的Linux驱动,需要使用多个源代码文件存放不同的功能代码,这样做有利于代码分 ...
分类:
移动开发 时间:
2016-07-07 22:27:58
阅读次数:
219
本章主要学习了硬件抽象层:HAL。 Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间, ...
分类:
移动开发 时间:
2016-07-07 22:15:51
阅读次数:
164
驱动开发读书笔记.0.00 从拿到一块开发板开始 当我们手上有一块arm开发板,我们应该怎么下手呢?(假设你有少许计算机和电子的基础) 1.01安装桌面版linux: 你可以装虚拟机 或者 双系统windows + linux 【假装有链接】 1.如果你会重装系统,我建议你装双系统或直接ubuntu ...
分类:
其他好文 时间:
2016-07-07 19:52:53
阅读次数:
151
打印内核的调试信息printk: printk与printf区别: printk 函数该函数的用法与printf函数类似,具不过printk函数运行内核空间,printk函数运行在用户空间。也就是说,像Linux驱动这样的Linux内核程序只能使用prink函数输出调试信息。 其次应该防止print ...
分类:
移动开发 时间:
2016-07-07 19:37:32
阅读次数:
141
蜂鸣器是 S3C6410 开发板上带的一个硬件设备。可以通过向寄存器写入特定的值来控制蜂鸣器 发出尖叫声。PWM驱动的实现方式不同于 LED 驱动, PWM 驱动将由多个文件组成。这也是大多数 Linux 驱动的标准实现方式. 也就是说-个复杂的驱动不太可能将所有的代码都放在一个文件中。 本节讲介绍 ...
分类:
移动开发 时间:
2016-07-07 19:32:41
阅读次数:
206