- 博客(16)
- 资源 (128)
- 收藏
- 关注
原创 Illegal instruction 出现原因
环境: ubuntu 12.04目标板: mini2440内核: linux 2.6.33现象: 隔了蛮长时间,想在板子上验证一下一个应用。 发现编译出来后,板子上运行有 Illegal instruction的错误解决: 1) 将工具链lib库重新复制一遍 无效 2) 将uboot 内核重编译烧写
2013-11-20 15:59:47 13479 1
原创 实现设备只能被一个进程打开
一. 使用原子变量static atomic_t xxx_available = ATOMIC_INIT(1); //定义原子变量static int xxx_open(struct inode *inode, struct file *filp){ ...if(!atomic_dec_and_test(&xxx_available)){ atomic_inc(&x
2013-11-14 10:05:57 1630
转载 蓝牙鼠标调试过程
现象: 连上鼠标后,能够出现鼠标图标,并且可以移动一下,然后再怎么移动鼠标都没反应了,在蓝牙的驱动层(btusb.c),加打印信息,发现这个时候即使移动蓝牙鼠标,bulk端点也没有数据上报上来了,但设置界面还可以执行扫描,能够扫描到其他的蓝牙设备,说明蓝牙usb驱动包括蓝牙的usb dongle这个时候还能工作,而为什么不上报鼠标数据,很可能是这个时候蓝牙鼠标的内部出问题了。 注意的问题:
2013-11-07 16:19:19 4173
转载 实战Linux Bluetooth编程(九) SDP层编程
作者:Sam(甄峰) sam_code@hotmail.com 先前的章节谈过SDP协议。但没有具体讲如何编程。BlueZ提供的SDP API,常见的如下: 1.sdp_session_t *sdp_create(int sk, uint32_tflags)参数1:sk: socket参数2:SDP flags. 取值如下:#define SDP_RETRY_
2013-11-07 15:22:03 1039
转载 实战Linux Bluetooth编程 (八) Class of Device
作者:Sam (甄峰) sam_code@hotmail.com 在设备被发现阶段,设备的Class of device被提供出来。指出此设备是何种类型,以及支持哪些服务。 回想前面HCI章节所说,Inquiry时,会返回找到的设备信息,其中包括BDADDR等。其中dev_class字段就是Classof Device. typedef struct { b
2013-11-07 15:15:58 2493
转载 实战Linux Bluetooth编程 (七) SDP协议
作者:Sam (甄峰) sam_code@hotmail.com Service DiscoveryProtocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。服务发现协议(SDP或BluetoothSDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetoothclient发现可用b
2013-11-07 15:14:54 1210
转载 实战Linux Bluetooth编程(六) L2CAP编程实例
作者:Sam (甄峰) sam_code@hotmail.com 例一:发送Signaling Packet:Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得SignalingCommand使用CID 0x0001.多个Command可以在一个C-frame(control frame)中发送。Bluetooth编程(六) L2C
2013-11-07 15:13:04 1248
转载 实战Linux Bluetooth编程(五) Socket与Bluetooth
作者: Sam (甄峰) sam_code@hotmail.com Linux下Bluetooth编程,借用了Socket体制。也就是说,BlueZKernel部分将Bluetooth协议栈以网络协议的形式添加进网络协议栈,这样极大的方便了用户编程。下面Sam就结合Socket概念将LinuxBluetooth做个研究。 1957年10月4日,星期五,苏联发射了人类历史上第一颗人造
2013-11-07 15:09:34 1427
转载 实战Linux Bluetooth编程(四) L2CAP层编程
作者:Sam (甄峰) sam_code@hotmail.com(L2CAP协议简介,L2CAP在BlueZ中的实现以及L2CAP编程接口) 一:L2CAP协议简介:Logical Link Control and AdaptationProtocol(L2CAP) 逻辑连接控制和适配协议 (L2CAP)为上层协议提供面向连接和无连接的数据服务,并提供多协议功能和分割重组操
2013-11-07 15:06:29 1399
转载 实战Linux Bluetooth编程(三) HCI层编程
作者:Sam (甄峰) sam_code@hotmail.com(HCI协议简介,HCI在BlueZ中的实现以及HCI编程接口) 1. HCI层协议概述:HCI提供一套统一的方法来访问Bluetooth底层。如图所示: Bluetooth编程(三) HCI层编程" title="实战Linux Bluetooth编程(三) HCI层编程"> 从图上可以看出,Host
2013-11-07 15:05:29 8264 1
转载 实战Linux Bluetooth编程(二) BlueZ简介
作者: Sam(甄峰) sam_code@hotmail.com Linux下Bluetooth协议栈的实现.Linux下开放的蓝牙协议栈主要包括IBM公司的BlueDrekar,Nokia公司的Affix,Axis公司的OpenBT和官方协议栈BlueZ。我们主要面对Bluez来探讨。 BlueZ基础代码均是由MaximKrasnyansky完成的。包括:HCI,L2CAP,R
2013-11-07 15:04:39 1738
转载 实战Linux Bluetooth编程(一) 协议栈概述
实战Linux Bluetooth编程(一) 协议栈概述作者:Sam (甄峰) sam_code@hotmail.com Sam一年前在Linux下写了一个类似Windows下BTW的库--BTX。现在需要添加新功能时发现很多知识点都忘记了。所以决定在这次学习中,把一些bluezAPI记录下来。这几天又想,这样还不够,不如把Linux下的Bluetooth编程基础给记录下来
2013-11-07 15:02:16 1248
转载 GPIO模拟I2C程序实现.
GPIO模拟I2C程序实现.I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简称SCL)和SerialData(简称SDA)。I2C是总线结构,1个Master,1个或多个Slave,各Slave设备以7位地址区分,地址后面再跟1位读写位,表示读(=1)或者写(=0),所以我们有时也可看到8位形式的设备地址,此时每个设备有读、写两个地址,高7位
2013-11-07 09:21:15 1345
转载 工作队列版本差别
工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。工作队列是2.6内核开始引入的机制,在2.6.20之后,工作队列的数据结构发生了一些变化,因此本文分成两个部分对2.6.20之前和之后的版本分别做介绍。I、
2013-11-07 09:12:43 1068
转载 内核的输入子系统
内核的输入子系统是为了对分散的、多种不同类别的输入设备(如键盘、鼠标、轨迹球、操纵杆、辊轮、触摸屏、加速计和手写板)进行统一处理的驱动。输入子系统带来了如下好处: • 统一了物理形态各异的相似的输入设备的处理功能。例如,各种鼠标,不论PS/2、USB,还是蓝牙,都被同样处理。 • 提供了用于分发输入报告给用户应用程序的简单的事件(event)接口。你的驱动不必创建、管理
2013-11-07 09:06:08 793
转载 运用debugfs调试方法
运用debugfs调试方法 DebugFS,顾名思义,是一种用于内核调试的虚拟文件系统,内核开发者通过debugfs和用户空间交换数据。类似的虚拟文件系统还有procfs和sysfs等,这几种虚拟文件系统都并不实际存储在硬盘上,而是Linux内核运行起来后才建立起来。通常情况下,最常用的内核调试手段是printk。但printk并不是所有情况都好用,比如打印的数据可能过多,我们真
2013-11-07 09:05:35 2800
嵌入式linux 3G上网
2013-01-05
yaffs2压缩包
2012-11-06
mini2440开发组件资料
2012-08-21
zebra 0.95
2012-06-29
makefile 详细教程
2011-12-13
LINUX DEVICE DRIVERS 第三版 EN
2011-12-02
驱动基础知识(个人备份)
2011-11-11
基于MIPS 的BootLoader 的移植
2011-10-28
hostapd+ssl+libnl.rar
2020-03-25
opencv_contrib_python-3.4.3.18-cp37-cp37m-win_amd64.whl
2019-12-12
opencv_python-3.4.3.18-cp37-cp37m-win_amd64.whl
2019-12-12
opencv_python-3.4.6-cp37-cp37m-win_amd64.whl
2019-06-18
pktgen-3.6.6.tar.gz
2019-05-21
dpdk.part2.rar
2019-05-17
dpdk.part1.rar
2019-05-17
qemu-4.0.0.tar.xz
2019-05-17
hadoop-native-64-2.6.0.tar
2016-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人