在arm平台学习linux时,会遇到arm汇编指令,arm汇编指令与8086汇编指令很多地方都不同,在此记下来以免后面忘了,同时在学习了汇编指令之后分析一些汇编指令编写的代码。 一、相对跳转指令b、bl b、bl指令都实现短跳转,bl指令执行后会在链接寄存器r14中保存下一条指令的地址。 二、数据传 ...
分类:
系统相关 时间:
2016-08-06 21:54:15
阅读次数:
233
在linux环境下做嵌入式无论是编写应用程序还是驱动程序等等,都需要用make来进行程序的编译,就需要学会自己编写Makefile。一个简单的makefile文件如下: 这个是最简单的makefile,makefile的作用就是写程序者可以决定哪些文件需要编译。上面的2、4行需要使用Tab键不能使用 ...
分类:
系统相关 时间:
2016-08-04 19:10:35
阅读次数:
256
转自:http://blog.csdn.net/batoom/article/details/6298267 completion是一种轻量级的机制,它允许一个线程告诉另一个线程工作已经完成。可以利用下面的宏静态创建completion: DECLARE_COMPLETION(my_completi ...
分类:
系统相关 时间:
2016-08-02 19:03:30
阅读次数:
373
转自:http://blog.chinaunix.net/uid-20672559-id-3383042.html linux设备驱动调试,我们在内核中看到内核使用dev_dbg来控制输出信息,这个函数的实质是调用printk(KERN_DEBUG )来输出打印信息。要打开这个开关需要下面两步。 1 ...
分类:
数据库 时间:
2016-08-02 16:56:28
阅读次数:
273
嵌入式软件工程师学习路线朱有鹏老师语录:学习如走夜路,人多心里不慌。1、嵌入式基础预科2、ARM裸机全集3、C语言高级专题4、Uboot和系统移植5、Linux应用编程和网络编程6、Linux驱动开发实战----------------------------------------------------内存这个大话题C语言:C语言..
分类:
编程语言 时间:
2016-07-21 22:13:00
阅读次数:
282
如何向模块传递参数,Linux kernel 提供了一个简单的框架. 1. module_param(name, type, perm); name 既是用户看到的参数名,又是模块内接受参数的变量; type 表示参数的数据类型,是下列之一:byte, short, ushort, int, uin ...
分类:
系统相关 时间:
2016-07-14 15:06:37
阅读次数:
357
C语言中不像C++能够直接定义函数,以前学习数据结构用的是C++版的数据结构,对C++的新特性没有说明,导致以前一直不知道这个问题。 最近在看linux驱动资料,发现struct全都是使用的函数指针的方式编写,百度之后才知道linux下struct中直接写函数是不能够编译的、 ...
分类:
编程语言 时间:
2016-07-13 15:29:06
阅读次数:
138
一、概述
android系统电池部分的驱动程序,继承了传统linux系统下的Power Supply驱动程序架构,Battery驱动程序通过Power Supply驱动程序生成相应的sys文件系统,从而向用户空间提供电池各种属性的接口。Linux标准的
Power Supply驱动程序所使用的文件系统路径为:/sys/class/power_supply ,其中的每个子目录表示一种能源供应设...
分类:
移动开发 时间:
2016-07-10 19:05:39
阅读次数:
506
HAL是建立在Linux驱动上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。Google为Android增加HAL的主要目的除了尽量避免应用程序直接访问Linux驱动外,还有一个重要原因,那就是保护“私人财产”。 Google为Abdroid加入HAL主要有如 ...
分类:
其他好文 时间:
2016-07-09 20:54:51
阅读次数:
128
Linux驱动的代码重用 Linux 驱动的代码重用有很多种方法。可以采用标准C 程序的方式。将要重用的代码放在其他的文件(在头文件中声明〉中。如果要使用某些功能, include 相应的头文件即可(这种方式称为静态重用)。也可以使用另外一种动态重用的方式,也就是一个Linux 驱动可以使用另外←个 ...
分类:
其他好文 时间:
2016-07-09 20:43:24
阅读次数:
100