关闭

Android系统makefile文件(Android.mk)组织结构

参考blog:http://blog.csdn.net/kobeyxyx/article/details/6614970 一. main.mk 1、检查版本号,设置环境变量(BUILD_SYSTEM)和缺省的目标。$(MAKE_VERSION) >= 3.81,BUILD_SYSTEM= build/core 2、包含文件BUILD_SYSTEM/config.mk。根据配置信息和主机目标机...
阅读(5327) 评论(0)

内核树的建立及其Hello World 模块的加载

内核树的建立及其Hello World 模块的加载        每每到了一定程度过后,对自己所做过的事,看过的书等做一些总结是很有必要的。初学驱动编程,面对的第一个难题就是这个驱动编程该怎么学,入门是关键。在前辈们推荐下和在网上搜索中,得出结论:不知道怎么学和该学些什么,那就看这两本书:O'REILLY写的《LINUX设备驱动程序》和宋宝华的《LINUX设备驱动程序(第3版)》,或者你有兴趣的...
阅读(1483) 评论(0)

关于EXPORT_SYMBOL的作用浅析

在查看内核驱动代码的时候会经常看到在一些函数后面总会跟EXPORT_SYMBOL()这样的宏定义,通过网上查阅,它的作用大致总结如下: 1、定义说明      把内核函数的符号导出,也可以理解成将函数名作为符号导出;符号的意思就是函数的入口地址,或者说是把这些符号和对应的地址保存起来的,在内核运行的过程中,可以找到这些符号对应的地址的。 2、相关处理      (1)、对编译所得的.ko进...
阅读(11850) 评论(0)

Linux设备中的并发控制

并发执行的唯一原因是:硬件中断服务。内核代码是可抢占的。 什么是竞争?当 2 个执行的线路[有机会操作同一个数据结构(或者硬件资源), 混合的可能性就一直存在。 避免竞争方法:        在你设计驱动时在任何可能的时候记住避免共享的资源. 如果没有并发存取, 就没有竞争情况. 因此小心编写的内核代码应当有最小的共享. 这个想法的最明显应用是避免使用全局变量. 如果你将一个资源放在多个执行...
阅读(947) 评论(0)

Ubuntu12.04下在Android4.0.4源码下载及其编译过程

一、下载源码 1、下载工具repo:https://android.googlesource.com/tools/repo/ 在本地目录建个bin的文件夹,进入bin文件夹;通过git下载: git clone https://android.googlesource.com/tools/repo 下载完成后,进入repo文件夹,切换到稳定分支:git checkout -b stable...
阅读(5740) 评论(3)
    个人资料
    • 访问:122039次
    • 积分:1537
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:6篇
    • 译文:0篇
    • 评论:25条
    最新评论