自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(101)
  • 资源 (2)
  • 收藏
  • 关注

转载 守护进程(daemon)

ps命令看到的内核线程(thread)属于守护进程(daemon), 在操作系统中占据相当大的比例,当Linux操作系统启动以后,尤其是Xwindow也启动以后,你可以用”ps”命令查看系统中的进程,这时会发现很多以”[xxxxd]”结尾的进程名,这些进程就是内核线程。内核线程也可以叫内核任务,它们周期性地执行,例如,磁盘高速缓存的刷新,网络连接的维护,页面的换入换出等等。在Linux中,

2015-11-25 15:48:26 641 1

转载 ARM Linux 3.x的设备树(Device Tree)

宋宝华 Barry Song 1.    ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/pla

2015-11-24 19:02:24 328

转载 linux设备树dts移植详解

摘 要:设备树的引入减少了内核为支持新硬件而需要的改变,提高代码重用,加速了Linux支持包的开发,使得单个内核镜像能支持多个系统。作为U-Boot 和Linux 内核之间的动态接口,本文阐述了设备树的数据存储格式以及源码描述语法,进而分析了U-Boot 对扁平设备树的支持设置,Linux 内核对设备树的解析流程。关键词:扁平设备树; DTS; PowerPC; LinuxIB

2015-11-24 18:51:07 512

转载 关于烂代码的那些事(中)

1. 摘要  这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。  在发布了关于烂代码的那些事(上)之后,发现这篇文章竟然意外的很受欢迎,很多人也描(tu)述(cao)了各自代码中这样或者那样的问题。  最近部门在组织bootcamp,正好我负责培训代码质量部分,在培训课程中让大家花了不少时间去讨论、改进、完善自己的代码。虽然刚毕业的同学对于代码质

2015-09-08 16:29:42 218

转载 关于烂代码的那些事(上)

1. 摘要  最近写了不少代码,review了不少代码,也做了不少重构,总之是对着烂代码工作了几周。为了抒发一下这几周里好几次到达崩溃边缘的情绪,我决定写一篇文章谈一谈烂代码的那些事。这里是上篇,谈一谈烂代码产生的原因和现象。  2. 写烂代码很容易  刚入程序员这行的时候经常听到一个观点:你要把精力放在ABCD(需求文档/功能设计/架构设计/理解原理)上,写代码只是把想法翻译成编程语

2015-09-08 16:28:05 174

转载 sd卡驱动

一.SD/MMC卡介绍1.1.什么是MMC卡MMC:MMC就是MultiMediaCard的缩写,即多媒体卡。它是一种非易失性存储器件,体积小巧(24mm*32mm*1.4mm),容量大,耗电量低,传输速度快,广泛应用于消费类电子产品中。1.2.什么是SD卡SD:SD卡为Secure Digital Memory Card, 即安全数码卡。它在MMC的基础上发展

2015-08-27 11:50:43 275

转载 linux下的usb抓包方法

分类: Android平台1 linux下的usb抓包方法1、配置内核使能usb monitor:make menuconfig                   Device Drivers -->                            USB Support -->                                 

2015-08-27 11:26:38 244

转载 Linux运维工程师面试

一、Linux操作系统知识1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解?3.企业中Linux服务器系统分区标准是什么?(硬盘为300G,内存16G)4.某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤。5.安装一台系统使用DVD

2015-08-13 11:56:32 450

转载 Linux基础

一.填空题:在Linux系统中,以 文件 方式访问设备 。Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。Linux文件系统中每个文件用 i节点 来标识。全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。链接分为: 硬链接 和 符号链接 。超级块包含了i节点表 和 空闲块表 等重要的文件系统信

2015-08-13 11:38:48 262

转载 Linux下的SPI总线驱动(二)

四.SPI内核代码分析我们已经讲过SPI驱动的移植,SPI控制设备和SPI接口设备的注册,SPI控制设备驱动和SPI接口设备驱动的注册。在移植时候,我们配置的选项告诉我们有些文件已经编入内核,那些就是SPI驱动的比较重要的文件。其中spi.c是SPI初始化和核心代码。spi_gpio.c是IO模拟SPI接口代码。spi_s3c24xx.c是s3c24xx系列芯片的SPI控制器驱动,它向更上

2015-07-30 14:51:46 346

转载 基于MCP2515的Linux CAN总线驱动程序设计(一)

1.前言 CAN(Controller Area Network)总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性、及独特的设计和适宜的价格而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到了众多半导体器件厂

2015-07-30 14:51:14 472

转载 关于链表的题目

链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出错。综合多方面的原因,链表题目在面试中占据着很重要的地位。本文对链表相关的面试题做了较为全面的整理,希望能对找工作的同学有所帮助。链表结点声明如下:struct ListNode{    int m_nKey

2015-07-18 16:50:43 182

转载 Linux内核中读写文件数据的方法

Linux内核中读写文件数据的方法有时候需要在Linuxkernel--大多是在需要调试的驱动程序--中读写文件数据。在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() filp_close(), vfs_read()vfs_write(),set_fs(),get_fs()等,这些函数在linux/fs.h和asm/u

2015-07-18 10:54:20 318

转载 Linux静态库和动态库区别

我们通常把一些公用函数制作成函数库,供其它程序使用。   函数库分为静态库和动态库两种。   静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。   动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。   本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。

2015-07-08 17:03:41 290

转载 Linux notifier chain机制

内 核许多子系统之间关联紧密,因此在一个子系统发生或者检测到的事件信息很可能对其他子系统来说也是有价值的。为了满足其他子系统对这些事件信息的需求,即 在某个子系统内发生或检测到事件时,其他对此感兴趣的子系统也能知道事件的发生,内核提供了notification chain机制。注意:notification chain适用于内核子系统之间的信息传递,不涉及用户态。Notificat

2015-07-01 18:15:42 310

转载 ap与sta共存

1:wifi的concurrent mode所谓wifi的共存模式,有以下几种:station mode + station modestation mode + ap modestation mode + p2p modep2p mode + ap mode目前android自从JB version后,就开始支持station + p2p的共存,但其他的共存模式目

2015-06-30 14:26:35 596

转载 主流Wifi芯片简要介绍

802.11n是可以达到最高600Mbps标准的,这得益于MIMO(多进多出)以及OFDM(正交频分复用)技术两项技术的应用,但是由于还存在路由器设计限制、无线网卡规格兼容性等问题,600Mbps基本还无法实现。通常你能见到的802.11n连接速度分别有108Mbps、130Mbps、240Mbps及300Mbps。世界上主要有这么几家供应无线路由芯片提供商,分别是Broadcom、Ather

2015-06-30 10:30:03 7355 1

转载 linux 共享内存查看和删除

在使用共享内存的程序异常退出时,由于没有释放掉共享内存,在调试时会出现错误。您可以使用shell命令来查看与释放已经分配的共享内存,下面将详细说明如何进行查看和释放分配的共享内存的方法。预备知识Linux中通过API函数shmget创建的共享内存一般都是在程序中使用shmctl来释放的,但是有时为了调试程序,开发人员可能通过Ctrl + C等方式发送中断信号来结束程序,此时程序申请

2015-06-25 17:02:55 702

转载 android电池(五):电池 充电IC(PM2301)驱动分析篇

关键词:android 电池  电量计  PL2301任务初始化宏 power_supply 中断线程化平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250作者:xubin341719(欢迎转载,请注明作者)欢迎指正错误,共同学习、共同进步

2015-06-25 16:58:38 297

转载 android电池(四):电池 电量计(MAX17040)驱动分析篇

关键词:android 电池  电量计  MAX17040 任务初始化宏 power_supply平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250作者:xubin341719(欢迎转载,请注明作者)欢迎指正错误,共同学习、共同进步!!

2015-06-25 16:57:34 324

转载 android 电池(三):android电池系统

关键词:android电池系统电池系统架构 uevent power_supply驱动平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos4210) 、samsung exynos4412作者:xubin341719(欢迎转载,请注明作者)欢

2015-06-25 16:53:01 247

转载 android 电池(二):android关机充电流程、充电画面显示

关键词:android 电池关机充电 androidboot.mode charger关机充电 充电画面显示 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos 4210) 作者:xubin341719(欢迎转载,请注明作者)欢迎指正错误,共同学习、共同进步!!

2015-06-25 16:51:01 349

转载 android 电池(一):锂电池基本原理篇

http://blog.csdn.net/xubin341719/article/details/8497830关键词:android  电池关机充电 androidboot.mode charger平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos 4210) 

2015-06-25 16:49:40 277

转载 Android中bluetooth的架构

既然我们想要系统地进行分析一下Android的bluetooth,那么就有必要首先来从总体架构上看一下bluetooth在Android中是处于哪些层次,做到手中有枪,心里不慌。Bluetooth从总体来看,基本的架构图如下: 这张图是我拷贝的网上的一份介绍bluetooth的ppt上,他应该也是出于某一份大牛之手,可惜的是我并没有能够找到具体的出处,若有人看到可以告诉我一

2015-05-08 17:14:39 270

转载 Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发

一、Android Bluetooth现状在android官网可以了解到android4.2新增了部分新功能,但是对于BT熟悉的人或许开始头疼了,那就是Android4.2引入了一个新的蓝牙协议栈针。谷歌和Broadcom之间的合作,开发新的蓝牙协议栈,取代了基于堆栈的Bluez。因此市场上出现了老设备的兼容问题,很多蓝牙设备在android4.2手机上不能使用。N

2015-05-08 17:11:48 717

转载 高通8x25平台display模块总结

一、概述 1.1  简介       本文档主要包括LCD模块的驱动流程分析、Framebuffer相关知识、Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解。 1.2  开发环境         Android:4.0         Kernel: Linux3.0         Ubuntu:需要 10.04以及之后的版本   

2015-05-08 17:07:11 311

转载 基于MCP2515的Linux CAN总线驱动程序设计

1.前言CAN(Controller Area Network)总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性、及独特的设计和适宜的价格而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到了众多半导体器件厂商的支

2015-05-06 10:34:20 314

转载 基于MCP2515的Linux CAN总线驱动程序设计(一)

1.前言CAN(Controller Area Network)总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性、及独特的设计和适宜的价格而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一。CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到了众多半导体器件厂商的支

2015-05-06 10:33:43 156

转载 对于驱动调试有用的两个小工具(devmem2、devkmem)

http://blog.chinaunix.net/uid-20543672-id-3001090.html 前段时间一个学习Linux的朋友问我:“可不可以在调试设备驱动的时候,利用一个小工具来查看CPU中寄存器的值?”我当时对他说:“一般都是Printk打印出来的。”后来这个朋友自己去找了资料告诉我:好像用/dev/mem可以实现。后来我自己找了以下相关的资料,发现正好是我当年没有继续

2015-05-05 11:51:21 283

转载 uboot 的内存命令使用 mw (修改) md (显示)

修改:mw [内存地址] [值] [长度]例如:mw 0x02000000 0 128表示修改地址为0x02000000~0x02000000+128的内存值为0.显示:md [内存地址] [长度]例如:md 0x02000000 128表示显示0x02000000的内存数据,长度为128个32bit.注意[长度]的取值,例如:# md 02000000 10020

2015-05-05 11:50:28 435

转载 通用串行总线

http://zh.wikipedia.org/zh-cn/%E9%80%9A%E7%94%A8%E4%B8%B2%E8%A1%8C%E7%B8%BD%E7%B7%9A通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字

2015-05-04 11:55:55 1847

转载 求后缀表达式

1. 求后缀表达式人工转换方法:例如:中缀表达式:a+b*c-(d+e)第一步:按照运算符的优先级对所有的运算单位加括号:式子变成了:((a+(b*c))-(d+e))第二步:把运算符号移动到对应的括号后面则变成了:((a(bc)* )+ (de)+ )-第三步:把括号去掉:abc*+de+- 后缀式子出现前缀表达式是一样的求,即第二部把运算符移动到括号前面

2015-04-30 17:54:09 172

转载 常见算法锦集

1. 字符串转化为整型[cpp] view plaincopyprint?int charToInt(const char* str)  {      if (str == NULL) return 0;        int flag = 1;      if ( *str == '+' )      {          ++str;      } else if 

2015-04-30 17:51:05 238

转载 LIB和DLL的区别

首先说一下静态链接库、动态链接库和COM1.动态链接库与静态链接库的区别。   1.1 静态链接库作为代码的一部分,在编译时被链接。          1.2 动态链接库有两种使用方式:      一种是静态加载,即在应用程序启动时被加载;      一种是动态加载,即是该动态链接库在被使用时才被应用程序加载。2.动态链接库和COM组件的区别         2.1

2015-04-30 17:45:28 157

转载 二叉树——已知前(后)序遍历和中序遍历,求解树

这种题一般有二种形式,共同点是都已知中序序列。如果没有中序序列,是无法唯一确定一棵树的,证明略。一、已知二叉树的前序序列和中序序列,求解树。1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的元素。2、求解树的子树。找出根节点在中序遍历中的位置,根左边的所有元素就是左子树,根右边的所有元素就是右子树。若根节点左边或右边为空,则该方向子树为空;若根节点左边和右边都

2015-04-30 17:41:01 373

转载 usb鼠标驱动注解及测试

作者:刘老师,华清远见嵌入式学院高级讲师,ARM ATC授权培训讲师。参考2.6.14版本中的driver/usb/input/usbmouse.c。鼠标驱动可分为几个部分:驱动加载部分、probe部分、open部分、urb回调函数处理部分。下文阴影部分为注解。 一、驱动加载部分 static int __init usb_mouse_init(void)         

2015-04-30 17:38:46 284

转载 试题(1)

一、不定项选择题(凭印象写的,没有顺序)(每题5分,共65分,13题):1、define  N  2     define  NTI(n)  N*n+n   Sum=N*NTI(N);   问Sum为多少?答:Sum = N*NTI(N)=N*N*N+N = 2*2*2+2=10 2、以下几个哪个优先级最高?A.%           B.D.B. 最高

2015-04-29 17:10:29 295

转载 字符串的最长回文子串的长度

给一个字符串,写一个函数返回该字符串的最长回文子串的长度,无回文子串则返回0。参考如下文章: http://www.cnblogs.com/houkai/p/3371807.html回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。比如输入字符串 "google”,由于该字符串里最长的对称子字

2015-04-29 17:06:53 1324

转载 提高程序运行速度的方法

1、选择一组合适的算法和数据结构;2、编写出编译器能够有效优化的源代码;(编写程序方式中一点小小的变动,都会引起编译器优化方式的很大变化,必须了解编译器的能力和局限性,有些编程语言比其他语言容易优化得多,C语言的有些特性,如:执行指针运算和强制类型转换,使得编译器很难对它进行优化。在程序的开发和优化的过程中,我们必须考滤代码的使用方法,程序员必须在实现和维护程序的简单性与它的运行速度之间做出权

2015-04-29 15:23:05 3960

转载 WIFI模块透传基础试验-AP toSTR

作者:李老师,华清远见嵌入式学院讲师。【实验目的】:        1、 掌握wifi模块配置方法,学习使用配置工具        2、 使用串口调试工具调试WIFI模块,完成数据收发        3、 实现AP(路由)与STR(节点)之间进行数据交换 【实验环境】:【实验步骤】:        1、 利用UART-WIFI(V2.1)配置WIFI模块,路由-AP;

2015-04-29 11:56:34 1684

arm嵌入式系统应用技术笔记基于lpc2300下册扫描版

arm嵌入式系统应用技术笔记基于lpc2300下册扫描版

2012-03-09

smartarm2400开发平台配套例程

smartarm2400开发平台配套例程 -development platform supporting routines smartarm2400 development platform supporting routines

2012-03-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除