Articles of 驱动

为MPC6050编写驱动程序i2c

我是C新手,我尝试写一个MPC6050加速计的驱动程序。 (Android 4.2.2的内核3.4)。 这是这个问题的下列。 这个页面和这个帮助我,但我不能使用驱动程序呢: arch/arm/mach-sun7i/core.c:77:44: warning: 'sun7i_i2c_platform_data' defined but not used [-Wunused-variable] arch/arm/mach-sun7i/core.c:136:41: warning: 'sun7i_i2c_platform_device' defined but not used [-Wunused-variable] 我正在处理/ANDROID/lichee/linux-3.4/arch/arm/mach-sun7i/core.c文件。 (相当于board-machine.c) 我粘贴了每个结构基础的结构。 初始化函数是,我希望确定,像这样: /* ACCELEROMETER*/ #include <linux/i2c-gpio.h> #include <linux/mpu.h> #include <linux/i2c.h> #include <mach/i2c.h> #include <mach/gpio.h> #define I2C_SDA TWI_LCR_SDA_EN #define I2C_SCL TWI_LCR_SCL_EN /* * /////////// from linux/i2c-gpio.h ////////// * struct i2c_gpio_platform_data { unsigned int […]

USB驱动程序编译错误

我目前正在编译一个Linux USB UART驱动程序,在这里提供: http : //www.exar.com/connectivity/uart-and-bridging-solutions/usb-uarts/xr21v1410 该驱动程序由2个头文件和一个大C文件组成。 这些是Makefile的内容: obj-m := vizzini.o KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) EXTRA_CFLAGS := -DDEBUG=0 all: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install clean: rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions vtty 这是运行make时编译器抛出的错误: [sj755@localhost xr21v141x-lnx-2.6.35-pak]$ make make -C /lib/modules/3.4.9-2.fc16.x86_64/build M=/home/sj755/Downloads/xr21v141x-lnx-2.6.35-pak make[1]: […]

Zigbee内核驱动程序

我想了解如何在Linux中实现Zigbee模块(TI CC2530)。 该模块将通过SPI连接到开发卡(Merrii的A80 Pro)。 在这一点上,我不确定我要做什么。 我必须为CC2530编写内核驱动程序吗? 或只是一个简单的SPI控制器驱动程序 另外,如果你有任何网站,我可以寻找更多的信息,这将是伟大的。

Linux的USB连接/断开事件

您好,我正在一个embedded式Linux设备与usb端口使用g_ether驱动程序的USBnetworking。 当usb插头连接时,dmesg的输出是: g_ether小工具:全速configuration#2:RNDIS 拔下USB电缆时,不会将消息写入dmesg。 使用C如何侦听连接/断开事件? embedded式Linux操作系统没有任何附加function。 没有dbus守护进程或hotplug助手脚本。 我甚至不确定这些是否有用。

如何在RHEL 6 / Linux上设置Oracle ODBC驱动程序

我需要在RHEL 6上设置Oracle ODBC驱动程序,以连接驻留在远程Windows计算机上的Oracle数据源。 我采取了以下步骤: [1]安装oracle-instanceclient-basic [2]设置环境variables:ORACLE_HOME和LDpath [3]创build了/etc/oracle/TNSnames.ora并进行了configuration,但没有正确设置 最初,我得到错误, "Connect failed because target or object does not exist" 然后,我在TNSnames.ora文件中设置: ORACLE_SID = DB_NAME 。 但是,这并没有解决问题,我现在得到一个新的错误消息: "TNS: net service name is incorrectly specified"

找不到适合jdbc的驱动程序:postgresql://192.168.1.8:5432 / NexentaSearch

我写了下面的Java程序 import java.io.*; import java.util.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.*; public class Sample { public static void main (String[] args) throws IOException { int CountComputers; FileInputStream fstream = new FileInputStream( "/export/hadoop-1.0.1/bin/countcomputers.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); String result=br.readLine(); CountComputers=Integer.parseInt(result); input.close(); fstream.close(); Connection con = null; […]

ARM Linux内核驱动程序中的关键时序

我在MX28(ARMv5)上运行linux,并使用GPIO线路与设备通信。 不幸的是,该设备有一些特殊的时间要求。 GPIO线上的低电平持续时间不能超过7us,高电平没有特殊的时序要求。 该代码作为内核设备驱动程序实现,并通过直接寄存器写入来切换GPIO,而不是通过内核GPIO API。 为了testing,我只产生3个脉冲。 这个过程如下,都在一个函数中,所以它应该适合在指令caching中: 设置gpio高 保存标志并禁用中断 gpio低 暂停 gpio高 再重复2次 恢复标志/重新启用中断 这是连接到GPIO的逻辑分析仪的输出。 大部分时间它的工作很好,脉冲持续时间在1us以下。 然而,大约10%的低点持续了很多很多微秒。 即使中断被禁用,也会导致代码stream被中断。 我很茫然。 RT Linux在这里可能没有什么帮助,因为问题不是延迟,它似乎是在低端发生的事情,尽pipe没有任何事情可以在IRQ禁用的情况下中断它。 任何build议将大大,非常感谢。

Linux驱动程序中的结构文件

我目前正在学习如何编写Linux设备驱动程序,我无法理解“ 结构文件 ”。 我正在使用Linux设备驱动程序第三版来帮助我。 这就是我所理解的。 一个。 struct文件表示一个打开的文件,因此,当在设备驱动模块中调用open时,内核将创build一个包含与设备驱动相关的所有内容的结构文件。 湾 如果你想传递这个设备驱动程序的实例,那么必须传递一个指针,指向open()之后由内核创build的特定结构文件。 C。 文件 – > private_data将始终返回指向设备的指针。 与此相关的另一个问题是“ f_pos ”字段。 该书说,如果驱动程序想知道文件中的当前位置,可以读取这个值。 这是我从中理解的。 d。 如果struct foo_dev和这个驱动程序用于存储数据的内存总量是X,那么f_pos指向驱动程序保留的那块内存中的当前位置。 我明白了多less是正确的,请纠正我的错误。 谢谢, 米尔

如何确定NDIS 6filter驱动程序中的802.11原始数据包是否具有FCS(4字节)?

我有一个NDIS 6filter驱动程序在Windows Vista和更高版本的系统上工作。 我把它绑定在NativeWiFi Filter下面,所以我可以看到802.11 packets而不是fake Ethernet packets 。 我已经在数据包filter中设置了NDIS_PACKET_TYPE_802_11_RAW_DATA和NDIS_PACKET_TYPE_802_11_RAW_MGMT : https : NDIS_PACKET_TYPE_802_11_RAW_DATA ( NDIS_PACKET_TYPE_802_11_RAW_MGMT ,所以我可以接收来自微型端口的Raw 802.11 Packets指示。 然后,我将无线适配器切换到Monitor Mode 。 现在我的filter驱动程序可以接收所有的802.11 control and management数据包。 我的问题是如何确定一个802.11原始数据包是否在我的驱动程序中有FCS(帧检查序列,4字节) ? 我这样问,因为我将Radiotap header ( http://radiotap.org/ )添加到数据包,radiotap有一个Flags字段,指定802.11数据包是否有FCS。 我的带有无线适配器Qualcomm Atheros AR9485WB-EG Wireless Network Adapter笔记本电脑的实验显示Beacon和Reassociation Response数据包含有FCS,而其他所有802.11数据包都没有。 而radiotap头文件中的错误Flags将导致Wireshark显示这些数据包的格式错误的数据包。 这就是为什么我需要确定我的驱动程序中FCS的可用性。 我的代码就像下面,我想知道如何写if条件。 // [Radiotap] "Flags" field. if (TRUE) // The packet doesn't have FCS. […]

Windows防火墙编程

我GOOGLE了很多次,直到我创build了这个问题,所以请原谅,如果有一些教程。 我没有find他们。 如何在Windows中编写防火墙应用程序? 我想过在每个进程中使用内联钩子的用户模式fiewall,但是有一个问题,我不能在Windows 7中挂钩csrss.exe(它创build新的进程)。第二件事是它不是很干净,确定为恶意软件。 所以我认为我应该把内核模式的API作为一个驱动程序。 但是有三个问题。 首先,我不知道Windows套接字的内核API。 其次我没有任何有关内核模式钩子的经验。 第三,我不知道这是否正确。 别担心,我知道这不是一件容易的事情,我不是初学者,只是一个想法;)。 如果有人有好的信息,请分享。 哦,我想写的x86系统;)。