首先贴代码helloworld.c和Makefile/************************************************************************* > File Name: helloworld.c > Author: hailin....
分类:
系统相关 时间:
2015-07-15 16:31:36
阅读次数:
176
如图所示为 X86 PC 上从上电/复位到运行 Linux 用户空间初始进程的流程。在进入与 Linux相关代码之间,会经历如下阶段。( 1 ) 当系统上电或复位时, CPU 会将 PC 指针赋值为一个特定的地址 0xFFFF0 并执行该地址处的指令。在 PC 机中,该地址位于 BIOS 中,它保存...
分类:
系统相关 时间:
2015-07-14 13:07:51
阅读次数:
228
由于用的学习材料是《linux设备驱动开发详解(第二版)》,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式。#make config(基于文本的最为传统的配置界面,不推荐使用)#make menuconfig(基于文本菜单的配置界面)#make...
分类:
系统相关 时间:
2015-07-13 17:55:49
阅读次数:
364
下面来看一个综合实例,假设我们要在内核源代码 drivers 目录下为 ARM 体系结构新增如下用于 test driver 的树型目录:| --test | -- cpu | -- cpu.c | -- test.c | -- test_client.c | -- test_ioc...
分类:
系统相关 时间:
2015-07-13 17:41:57
阅读次数:
161
前两篇blog已经基本熟悉了块设备的相关结构,这里来总结下ldd3中提到的一些块设备驱动例题;
注册:
sbull_major = register_blkdev(sbull_major, "sbull");
if (0 >= sbull_major){
printk(KERN_WARNING "sbull: u...
分类:
系统相关 时间:
2015-07-13 00:50:48
阅读次数:
160
昨天想试试给自己的笔记本安装ubuntu系统,开始学习python。没想到制作完的ubuntu kylin 15.04U盘启动一直都没有成功安装,而是卡住了……经过了不断地百度后依然没有成功,最后下载了ubuntu kylin 14.04 LTS用ultraiso再次制作U盘启动,终于安装成功!(虽...
分类:
其他好文 时间:
2015-07-12 14:16:49
阅读次数:
247
一入硬件深似海!
以前是写单片机程序和Linux驱动的,主要是C语言,对硬件也是稍有了解,但大多数都停留在单片机的DIP时代!
现在在做一个智能家居的项目,硬件软件都要来,上的是Android。驱动已经被老大弄的差不多了,很多驱动原厂都给了,改改
配置就行,也没太大难度。现在只好硬着头皮整硬件了。
一直以为模拟电路是一个坑,说是坑是因为它难!一开始修电路,就要焊接0402的电感电容电阻,还...
分类:
其他好文 时间:
2015-07-11 16:48:28
阅读次数:
177
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define PL353_NAND_...
分类:
系统相关 时间:
2015-07-09 16:09:23
阅读次数:
194
本文是嵌入式企鹅圈开篇--《linux字符设备驱动剖析》的姐妹篇,在上述文章里面我们详细描述了字符设备驱动框架涉及的驱动注册、通过设备文件来访问驱动等知识,并明确通过device_create接口并结合mdev来创建设备文件,但没有展开这个知识点。本文将从代码级去理解Linux设备类和设备文件的创建过程。通过这两篇文章,我们将可以对linux字符设备驱动的机制和脉络有全面的认识。...
分类:
系统相关 时间:
2015-07-06 12:22:10
阅读次数:
257
所谓的锁陷阱就是防止死锁。
不明确的规则:
1、不论是信号量还是 自旋锁,都不允许锁拥有者第二次获得这个锁(会死锁)。
2、系统直接调用的那些函数要获得信号量,保护要访问的设备结构。而内部函数的访问则可以根据需要上锁。
锁顺序规则:
1、如果都要获取一系列锁的话,那么可以按照一定顺序规则来获取锁,即:获取多个锁时,锁的顺序一直;
2、如果要获取自己的局部锁和系统的中心锁,则先获取自己的局部锁,然后再去获取中心锁...
分类:
系统相关 时间:
2015-07-05 15:08:01
阅读次数:
183