自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 BlueZ移植与配置

Bluez作为当前最成熟的开源蓝牙协议栈,在Linux的各大发行版中已经得到了广泛的应用。在桌面环境下,使用Bluez应该已经没有太大的问题,本文的主要目的是介绍在嵌入式平台上,搭建和配置Bluez的各个Profile运行所需做的工作,讨论可能遇到的问题,介绍一些工具的使用和工作原理。因为本人的能力和测试时间有限,可能下文中有些理解、分析不一定准确,欢迎联系指正。 1 相关说明 1

2014-06-21 22:29:33 994

原创 移植bluetooth

移植bluetooth功能,现将移植过程中碰到的问题简要列一下,备忘而已。1、内核增加配置make menuconfig -> Networking support -> Bluetooth subsystem support -->进行选择BT选项,至少选择如下几项:CONFIG_BT=yCONFIG_BT_RFCOMM=y## Bluetooth device

2014-06-21 22:21:15 1027

转载 Android4.3 Bluetooth 抓取hci log

Android4.2之前抓取hci log都是通过hcidump命令完成的,但是Android4.2 Bluetooth引入了Bluedroid,这是一个新的蓝牙协议栈。所以抓取hci log的方法也改变了。在我的Bluetooth计划里,本来是没打算写这篇blog的,但是在留言里看见有人问,所以写出来分享给那些目前还不会的。在Android 4.2之后, Bluetooth控制h

2014-06-21 22:19:29 796

转载 bluez蓝牙协议栈交叉编译移植教程

转载地址 请参考:v由于项目功能的要求,需要移植bluez蓝牙协议栈到S3C2410开发平台上,在移植的过程中出现了很多问题,比如依赖库的版本不匹配,交叉编译器版本过高或者过低等问题,为了能让大家少走移植的弯路,现将自己亲测的组合版本以及编译过程总结如下,同时还附带有编译过程的全称视频,只是没有声音,因为是在实验室没有麦,大家将就以下,虽然没有声音但是不影响编译过程,下载地址为

2014-06-21 22:17:42 2576

转载 Android 蓝牙驱动 概要

在linux中,蓝牙设备驱动是网络设备,使用网络接口。蓝牙设备的网络协议,所定义的协议族为:AF_BLUETOOTH (31)蓝牙协议部分头文件:include/net/bluetooth/hci_core.hinclude/net/bluetooth/bluetooth.h蓝牙协议源代码文件:net/bluetooth/*蓝牙系统的

2014-06-21 22:16:30 1232

原创 用户空间和内科空间交互信息方法--> copy_to_user

用法如下:详细得机制见转载他人得博客 地址http://blog.csdn.net/yangdelong/article/details/5491097http://blog.csdn.net/ce123_zhouwei/article/details/8457822一、Copy_to_user( to, &from, sizeof(from))

2013-08-08 14:36:47 730 1

转载 【转载】Linux多线程

研究linux多线程得问题,发现一篇好得博客http://www.cnblogs.com/skynet/archive/2010/10/30/1865267.html转载下:

2013-08-02 11:00:15 482

转载 【转载】解读USB-IF电池充电规范

最近学电源管理驱动这一步分,对于电池充电规范不太理解,转载下来自己看http://www.eechina.com/thread-4943-1-1.html电池充电规范  原有USB2.0规范并没有考虑到使用USB接口为便携式设备的电池进行充电的需求,而这样的需求却越来越多。BC规范要解决的就是这个问题,符合规范的设备和系统即向下兼容USB2.0标准,又针对充电做出了特别

2013-07-24 17:02:32 1541

原创 linux驱动学习心得--以I2C做实例

一、概述在设备驱动模型中,需要关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;同样,系统每注册一个驱动的时候,会寻找匹配的设备,而匹配由总线完成。注册设备与驱动不分先后顺序。对于没有总线得设备,需要一种虚拟的总线,称为platform总线,相应的设备称为platform_device,而驱动成为platfo

2013-07-24 16:58:24 1049

原创 堆和栈得区别--向WXP学习

堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵

2013-07-18 09:22:52 688

原创 在Aboot中添加i2c使用得方法二

//在 lk/platform/msm8226/include/platform/aboot.h 中添加 判断 判断pad与pad链接得引脚定义 #define P03_PLUG_IN 15 //GPIO表中查询 //在 lk/platform/msm8226/include/platform/iomap.h

2013-07-15 13:23:41 1477

原创 在boot中添加i2c使用得方法

//在 lk/platform/msm8226/include/platform/aboot.h 中添加 判断 判断pad与pad链接得引脚定义 #define P03_PLUG_IN 15 //GPIO表中查询 //在 lk/platform/msm8226/include/platform/iomap.h

2013-07-15 13:22:26 1726

原创 老友记中得经典语句

见图片,待每天学习完后摘录

2013-07-15 13:20:10 614

翻译 英语学习笔记每日更新--8-14

最近在看到一张图片 很好 7000多单词涵盖了,每天学习一点 提高自己英语1. Typical of the grassland dwellers of the continent is the American antelope,or called pronghorn美洲羚羊 或称叉角铃 是该大陆典型得草原动物 dweller ['dwelə] 居民;居住者2.Of

2013-07-15 13:18:45 851

转载 【转载】GIT服务器使用手册说明

最近使用GIT服务较多 很烦索, 学习了下面博客得知识blog.csdn.net/zhengmeifu/article/details/6124588对它进行了修改 方便自己查阅Git 是什么非常简单地说,Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。所谓版本控制系统(VersionControl Sys

2013-07-10 16:43:53 714

原创 DEVICE_ATTR中权限位分析以及实例

在内核中, sysfs 属性一般是由 __ATTR 系列的宏来声明的,如对设备的使用 DEVICE_ATTR ,对总线使用 BUS_ATTR ,对驱动使用 DRIVER_ATTR ,对类别(class)使用 CLASS_ATTR,这四个高级的宏来自于 , 都是以更低层的来自 中的 __ATTR/__ATRR_RO 宏实现。在adb shell 终端查看到接口,当我们将数据

2013-07-10 16:21:38 2062

原创 Suspend&Resume流程

最近对于suspend和resume中得电源管理用到较多,对于suepend过程进行了下总结看下主流程如下 方便自己以后再找具体看main.c(kernel/power);上层通过属性节点写命令,最终会调到此文件中的state_store函数。state_store(){ request_suspend_state();}request_suspend_state()

2013-07-10 16:08:49 960

原创 让CPU从睡眠中醒来得方法--enable_irp_wake

低功耗模式实现所有驱动的supend和resume函数.注册一个中断唤醒源,一般是GPIO,RTC中断 .然后调用echo mem > state将系统挂起到内存中,这时候SDRAM在进行self-refresh的动作.基本电源的消耗在这里了目前2.6.kernel已经作好只需要在每个驱动里按照接口函数suspend(...),和resume()将这个驱动的suspend 和resum

2013-07-10 15:35:39 1666

原创 Android ADB 命令

ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. 设备上不需要安装, 只需要在手机上打开选项settings-applications-development-USBdebugging.对于Mac和Linux用户, 下载好的sdk解压后, 可以放~或者任意目录. 然后

2013-07-09 16:01:25 447

转载 【转载】使用 /proc 文件系统来访问 Linux 内核的内容

简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux® 内核空间和用户空间之间进行通信。在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的。本文对 /proc 虚拟文件系统进行了介绍,并展示了它的用法。最初开发 /proc 文件系统是为了提供有关系统中进程的信息。

2013-07-09 15:56:03 473

原创 使用文章记录地址

http://fpcfjf.blog.163.com/blog/static/55469793201311782732272/?suggestedreading&wumiiUSB_otg 驱动分析http://blog.csdn.net/ling1874/article/details/5758883usb——otg驱动代码分析http://www.embe

2013-07-02 15:43:56 408

原创 USB_OTG学习笔记

1. 概要OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,为连接时候的USBHost,A-Device始终为总线提供电力,ID悬空被称作为B-Device,为连接时候的USB Device,设备的USBHost/USB Device角色可以通过HNP切换。OTG设备连接时不能跨越USB Hub,如果跨越USB Hub则失去HNP功能。

2013-07-02 15:41:48 727

原创 工作队列使用方法(2.6.20)

工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。一、用到得函数如下:INIT_WORK(_work, _func, _data);int schedule_work(struct work_struct *wo

2013-06-28 14:52:55 603

原创 Linux设备驱动中得 DTS文件加载过程

1. 在\kernel\of\fdt.c 中有如下初始化函数  注释上:展开设备树,创建device_nodes到全局变量allnodes中void __init unflatten_device_tree(void){    __unflatten_device_tree(initial_boot_params, &allnodes,                ear

2013-06-27 15:27:41 6274

原创 共享中断 IRQF_SHARED 使用方法

在board-8064.c中寻找 sis_i2c_info如下:static struct i2c_board_info sis_i2c_info[] __initdata = {    {        I2C_BOARD_INFO(SIS_I2C_NAME, SIS_SLAVE_ADDR),        .platform_data = &sis_pdata,

2013-06-27 15:25:09 17927

原创 bootloader中使用2C功能实现

包含需要修改及用到得子函数内容//在 lk/platform/msm8226/include/platform/aboot.h 中添加 判断 判断pad与pad链接得引脚定义     #define P03_PLUG_IN                          15             //GPIO表中查询           //在 lk/platfo

2013-06-27 15:20:30 1951

原创 【USB设备】AC充电驱动调用梳理

1、插上电源--触发中断调用microP_work() {  进入 已经链接       if( is_Mode_APROM())  {     if(IsP01ACUSBInOut())     {          micropSendNotify(P01_AC_USB_IN);          AX_MicroP_get_USBDetectStatu

2013-06-27 15:18:28 751

原创 Linux下得中断处理--第一个中断程序

中断程序一般会包含在某个设备的驱动程序中,因此,接下来的程序本质上还是一个内核模块。---->内核模块加载函数。 static int __init myirq_init(){    printk("Module is working..\n");

2013-06-24 17:34:41 601

原创 EXPORT_SYMBOL_GP用法总结

类似标题得EXPORT_SYMBOL_GPL富豪为linux得模块导出符号Linux内核头文件提供了一个方便的方法用来管理符号的对模块外部的可见性,因此减少了命名空间的污染(命名空间的名称可能会与内核其他地方定义的名称冲突),并且适当信息隐藏。 如果你的模块需要输出符号给其他模块使用,应当使用下面的宏定义:EXPORT_SYMBOL(name);EXPORT_SYM

2013-06-18 16:18:12 728

原创 Linux设备驱动总结

最近在使用linux底层设备驱动,整理了以下总结要点:Linux设备驱动程序是一个内核模块,可以随时添加到内核和随时从内核中删除。很自然,在模块被他人使用时无法删除,因而存在一个模块被使用的计数器。驱动层界面应该有如下根本的东西:1、OS系统设备链表,并有挂入函数能够将一个新设备及其驱动程序挂入这个链表。现在大部分使用DTS。2、从OS往下看,设备必定会提供一套读写接口。drive

2013-06-18 16:09:42 585

原创 小技巧-1-取未知字符串长度中数字

未知长度buf中存在两个数字和空格 取出两个数字赋值给 ID1   ID2     // 取出P        if (!(p = strsep(&buf, " ")) || !*p)        {            printk(KERN_INFO "err1");                        return -1;

2013-05-31 17:42:20 630

原创 Linux内核字符串转换函数

Linux中用到较多得字符串转换函数主要有:simple_strtoul之类这些字符串转换函数保存在 库文件 lib/vsprintf.cunsigned long long simple_strtoull(const char *cp, char **endp, unsigned int base) unsigned long simple_strtoul(const

2013-05-31 16:40:01 852

原创 Linux DTS配置总结

1、在配置设备树得过程中碰到了比较多得问题,已I2C为例,在实例文档中介绍得:Qualcomm I2C controllerRequired properties: - reg : Offset and length of the register region(s) for the device     For GSBI based controller, GSBI an

2013-05-31 15:31:31 10719

原创 关于DEVICE_ATTR使用方法的总结

在网上看了好多关于DEVICE_ATTR得介绍未能理清,还是自己实际动手操作下才有效果,最近在设计I2C测试过程中用到了这个,因此进行了实验。实验环境:操作系统ubuntu12.04内容:i2c_core  i2c_test1.文件i2c_core.c 定义*i2c_dev_attrs 指针 包含 dev_attr_test.attr,static struct a

2013-05-31 14:59:57 6938

Direct纹理映射程序

简单的纹理映射程序 .net环境下测试成功 D3D开发基础

2010-03-13

图像数字化与显示课件

不错的东西 图像数字化和显示的一些介绍知识

2010-03-13

DIRECTX 3D程序事例

DIRECTX 3D程序事例 讲述顶点坐标变换等的一些实例 后续还会有好多

2008-10-13

空空如也

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

TA关注的人

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