- 博客(25)
- 资源 (31)
- 收藏
- 关注
转载 Linux用户空间与内核空间
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。Linux内核地址映射模型x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。段
2013-12-31 17:42:32 665
转载 算笔账:养老保险应该少交还是多交
对于缴纳养老保险(一般也简称养老金、养老社会保险或“社保”),人们有两种常见态度:在白领以及各种企事业单位工作的人当中,最常见的态度是希望单位能够替自己尽量多的缴纳养老保险,以便在自己年老以后获得较好的保障;而对于农民工(和一小部分养老保险唱衰者)看来,养老保险是靠不住的,他们希望能够少交或者完全不交养老保险,最典型的表现就是新劳动法实施以后,每年都出现农民工退保潮。在这篇文章里我
2013-12-31 09:22:51 1066
转载 unbalanced enable irq 问题的解决 以及共享的gpio中断引起的问题
最近在工作中使用irq时遇到如下问题,根据log显示应该是什么所谓的不平横问题,先前也没有仔细研究这个问题,只是定位到是enable_irq函数调用所致。因为在项目中使用的中断是gpio中断,该中断在项目中的实现方式为多个gpio中断共享一个真实的物理中断,因此当这个真实的物理中断发生后由系统(就是另一个哥们写的irq驱动)查询到底是连接到这个物理中断上的哪一个具体的gpio产生的了中断(
2013-12-30 17:34:25 892
原创 Makefile 中:= ?= += =的区别
在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endifif
2013-12-30 13:49:21 6221 1
转载 framebuffer之overview/双缓冲/alpha与colorkey/窗口平移与virtual screen平移
本文介绍了s3c6410中的framebuffer,参考代码为Linux2.6.28。网上介绍framebuffer的文章很多,内核代码中也有关于framebuffer的文档,所以本文只介绍一些其它文章较少介绍的部分。1. Overview在嵌入式系统中,会有一块内核空间保存LCD上每一个象素需要被显示的值。系统运行时,CPU的显示控制器会自动从这块内存读取内容,然后发送到LCD显
2013-12-21 14:13:50 5506
转载 Linux Framebuffer 驱动框架之一概念介绍及LCD硬件原理
Linux Framebuffer 驱动框架之一概念介绍及LCD硬件原理分类: Linux驱动开发 Framebuffer 2013-07-18 23:07 1001人阅读 评论(0)收藏 举报Framebuffer一、基本概念 帧缓冲(Framebuffer)是Linux系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允
2013-12-21 12:07:55 1628
原创 亮度 对比度 饱和度 灰度
亮度是指画面的明亮程度,单位是堪德拉每平米(cd/m2)或称nits,也就是每平方公尺分之烛光。对比度是一个亮度的比值,定义是:在暗室中,白色画面(最亮时)下的亮度除以黑色画面(最暗时)下的亮度。更精准地说,对比度就是把白色信号在100%和0%的饱和度相减,再除以用Lux(光照度,即勒克斯,每平方米的流明值)为计量单位下0%的白色值(0%的白色信号实际上就是黑色),所得到的数值。对比度是最
2013-12-21 11:22:58 10550
转载 MIPI 接口知识点
1 MIPI 三种传输, DSI便是一种2 DSI连接DPI DBI,(这是两种用于LCD的传输方式)构成一个模块3 DSI-tx 接收DPI DBI数据,发送串行数据4 DSI-rx 接收串行数据,发送DPI DBI数据5 DSI模块后面接LCD driver 接口为串行6 串行数据高速,无干扰,无时序错误,少pad,是王道
2013-12-20 16:24:55 2512
原创 DBI(i80)/DPI(RGB)/DSI
(1)DBI接口 A,也就是通常所讲的MCU借口,俗称80 system接口。The lcd interface between host processor and LCM device list as below,The LCM driver will repeated update panel display。MCU借口通过并行接口传输控制命令和数据,并通过往LCM模组自带的
2013-12-20 10:50:21 3373
原创 camera驱动 v4l2/fimc
一、Camera 工作原理介绍1. 结构 .一般来说,camera 主要是由 lens 和 sensor IC 两部分组成,其中有的 sensor IC 集成 了 DSP,有的没有集成,但也需要外部 DSP 处理。细分的来讲,camera 设备由下边几部 分构成: 1) lens(镜头) 一般 camera 的镜头结构是有几片透镜组成,分有塑胶透镜(Plastic)和玻璃透 镜(Gla
2013-12-20 10:23:57 3072
转载 Android porting rlink usb wifi device
http://blog.csdn.net/king_sundi/article/details/5972965我用的是 Ralink 的网卡,所以 wifi 网卡的名字是 ra0, 在网上看了一些文章,要改很多地方。不就是个网卡名字问题吗? 我有 驱动源码, 就直接在源码里把名字改成 mlan0 就得了。在源码中找到注册网卡的 register_netdev
2013-12-19 18:19:05 993
原创 Linux USB子系统 (2)
目录(?)[+]枚举和设备描述符(Enumeration and Device Descriptors)每当一个USB设备附着到总线上,它将会被USB子系统枚举.也就是分配唯一的设备号(1-127)然后读取设备描述符.描述符是一个包含关于设备的信息和属性的数据结构.USB标准定义了一个描述符层次结构(参考 Figure2).Figure 2. USB Descripto
2013-12-19 18:00:13 973
原创 Linux USB子系统 (1)
USB 简介The Universal Serial Bus 1994年Compaq, Intel, Microsoft和NEC 4家公司联合开始制定USB. 开始制定这个总线的目的是:(1)连接PC和电话(2)容易使用(3)端口扩展1996年一月发布第一版(version 1.0),最新的官方版本1.1在1998年九月发布,并且该文档还在继续开发,在1999年发布
2013-12-19 17:58:22 819
原创 3G上网卡在Liunx系统上实现上网的过程
1 前言 最近因项目需要将3G上网卡挂接到Linux的网关平台,经过一段时间的研究,基本将整个挂接过程弄清,在此贴出来与大家共享 2 正文 首先,我们来了解一下3G上网卡的组成: USB+USB转串口芯片+3G无线模块 从这样的组成我们基本可以了解3G无线模块对外提供的接口是串口,外部通过向此串口发送AT指令控制其上网、发短信、打电话等操作。而我们要与其通讯则必须要驱
2013-12-19 17:14:51 1578
转载 enable_irq_wake
实现你所有驱动的supend和resume函数.注册一个中断唤醒源,一般是GPIO,RTC中断 .然后调用echo mem > state将系统挂起到内存中,这时候SDRAM在进行self-refresh的动作.基本电源的消耗在这里了目前2.6.kernel已经为你作好了。你只需要在你每个驱动里按照接口函数suspend(...),和resume()将这个驱动的suspend 和resume完
2013-12-19 15:04:30 791
转载 nl80211 和 wext
NL80211使用笔记Posted on2012 年 04 月 18 日 bysqbing最近在做一个项目,需要通过NL80211和驱动打交道。以前没用过,走了不少弯路,因此做个笔记,方便自己,当然如果能够帮助别人更好。无线网卡驱动主要有两个“标准”(这样的形容并不准确!):WEXT(Wireless Extension):使用WEXT的工具通过ioct
2013-12-18 11:21:55 8171 1
原创 Android 分析 WIFI 移植
首先,将wifi linux驱动编译成模块,并将驱动(vntwusb.ko或rt3070sta.ko放到/system/lib/modules/中.然后,做如下修改: 1.修改 init.rc:很多文章都有描述,但还是有些说明不清的地方,我先列出增加项,然后作些说明. 增加: mkdir /system/etc/wifi 0771 wifi wifi chmod 0771 /
2013-12-18 11:12:09 1448
原创 全志添加一个工程的过程
当前的A13平台有nuclear_evb 版本现在出一个新版本nuclear_test通过编译android系统的过程1.source ./build/envsetup.sh查看打印内容including device/samsung/maguro/vendorsetup.shincluding device/samsung/tuna/vendorsetup.shincl
2013-12-13 17:54:34 2101
原创 A13 添加wifi模块过程
A13要求wifi是在使用时才动态加载,这就要求我们不能像对待其他驱动模块那样在系统一启动时就加载它,而是在android的应用层需要使用到它时才去加载它。所以在A13的sys_config.fex文件中是没有写安装的wifi模块名称。但是可以讲多个模块都放到内核中。这个步骤前面已经讲过,这里不再复述。下面说一下动态加载的问题。android中有一个hardware硬件抽象层,这里用的就是它。
2013-12-12 11:13:04 1595
转载 嵌入式Linux下3G原理
传统3G上网卡几乎都采用modem形式,支持usb插口。通过usb指令转串口指令发给modem实现modem初始化并实现上网.由此可以考虑在linux下实现usb指令到串口指令转换的驱动以驱动modem实现上网,各个平台的linux内核中都有usbserial模块,该模块是可以驱动modem上网的,因此可以考虑使用usbserial模块驱动3G网卡上网。虽然3G上网卡没有类似windo
2013-12-06 10:58:56 1257
原创 详解adb常见命令及用法
@echo off 回显开关adb remount adb install "Player Binary files"\Isdbt1SegPlayer.apk 带有空格的文件名用""adb push "Player Binary files"\libisdbtutils.so /systemb/adb push "Player Binary files"\libstagefri
2013-12-05 10:56:01 3907
转载 Linux内核移植和根文件系统制作
第一章移植内核1.1 Linux内核基础知识1.1.1 Linux版本1.1.2 什么是标准内核1.1.3 Linux操作系统的分类1.1.4 linux内核的选择1.2 Linux内核启动过程概述1.2.1 Bootloader启动过程1.2.2 Linux启动过程1.3 Linux内核移植1.3.1 移植内核和根文件系统准备工作1.3.2 修改L
2013-12-04 16:51:27 1131
转载 ARM、X86/Atom、MIPS、PowerPC
补充介绍一下RISC:RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会
2013-12-04 14:10:18 1237
原创 usb详解-与uart传输对比
usb作为一种串行接口,应用日益广泛。如同每个工程设计人员必须掌握I2C,RS232这些接口一样,我们也必须掌握usb.但是usb的接口协议实在有点费解,linux uhci驱动作者之一Alan Stern曾经就说过“The USB documentation is downright evil. Most of it is just crap, written by a committ
2013-12-03 14:41:34 11614 2
E:\daily\202310\1026\利用openssl和curl库获取https服务端证书\利用openssl和curl库
2023-10-26
i2c-tools-3.9-android7.1h上可用
2023-06-03
Quectel_Linux&Android_GobiNet_Driver_V1.6.zip
2020-03-20
05 Quectel-CM.zip
2020-03-20
STM32 USB HID开发实例,实现USB双向通信
2012-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人