摘要:
在第四章中,专门提到了释放页时一定要慎重,只能释放直接申请的页。如果说是传递了不对的struct page或地址,或用了不对的order的值,那将可能带来灾难性的后果,系统很有可能会因此而崩溃。在使用kmalloc函数分配的内存块很有可能要比实际请求的内存块要大,这是由于系统分配内存的基本方法都是基 阅读全文
摘要:
第三章中也讲了原子操作,原子操作就是指单位操作,就是说,原子操作在执行的过程中不能被中断,并且也需要通过某些机制使语言中看似原子的操作语句编程原子语句,否则的话,在并发的环境总可能会产生脏数据。非0值和0,一般是指1和0。但对于有的平台,可能会将非0值解释成-1或其他的非0值。为了适应各种平台非0值 阅读全文
摘要:
第二章中,在目标开发中和Android模拟器上测试驱动时,需要执行shell.h 脚本文件或 adb shell 命令进入相应平台的终端,在shell.h脚本在/root /drivers 目录之中。在这里讲的脚本文件都是使用insmod命令安装Linux驱动的,除了该命令意外,使用modprobe 阅读全文
摘要:
第一章主要讲了Linux驱动和AndroidHAl的基础知识。首先介绍了Android系统构架分为四层,Linux内核、C/C++代码库、Android SDK API、应用程序。了解这四层是Android系统移植的前提,Android系统移植是指让Android操作系统在某一个特定硬件平台上运行。 阅读全文