I.MX6 Linux、Jni ioctl 差异】的更多相关文章

/*********************************************************************** * I.MX6 Linux.Jni ioctl 差异 * 声明: * 在使用Jni的ioctl()的过程中,发现不能像普通的Linux函数那样使用, * 必须使用3各参数的ioctl()函数. * * 2015-12-20 深圳 南山平山村 曾剑锋 ****************************************************…
/******************************************************************************** * I.MX6 Linux Serial Baud Rate hacking * 声明: * 1. 本文的源代码来自:myzr_android4_2_2_1_1_0.tar.bz2: * 2. 本文的目的是为了知道I.MX6串口支持的波特率有哪些,最大是多大, * 并加以验证,因为IMX6DQRM_revC.pdf数据手册上说能达到5…
/*************************************************************************** * I.MX6 Linux mipi配置数据合成 * 声明: * 由于现有mipi配置数据不符合I.MX6的配置参数,需要将该参数进行数据转换, * 而这又涉及到对数据处理简单算法,主要是为了验证转换代码可靠性. * * 2015-12-24 深圳 南山平山村 曾剑锋 **************************************…
/***************************************************************************** * I.MX6 linux Qt 同时支持Touch.mouse * 声明: * 在Qt上,有时候当没有Touch的时候,我们会希望鼠标还是能够使用的,于是乎 * 这又变成了一个看上去必须的需求了,所以这也就变成了一个需要解决的问题,当然 * 这又解决Touch存在还是不存在的问题,以及如何跟mouse共存的问题. * * 2016-1-1…
/*********************************************************************** * I.MX6 Linux udev porting * 声明: * 在嵌入式产品上,我们可以使用mdev来解决热插拔的问题,同时也经常看到 * udev,所以尝试来移植一下,但是最终发现她会丢失内核阶段产生的uevent, * 这导致无法生成内核阶段产生的设备节点,目前采用了mdev来做完成内核阶段的 * 设备节点生成,之后使用udev完成热插拔,这…
/*********************************************************************** * I.MX6 Linux 自动获取AR1020 event input节点 * 说明: * 本文主要记录如何自动获取AR1020 SPI电阻Touch产生的设备节点. * * 2016-4-5 深圳 南山平山村 曾剑锋 ******************************************************************…
/*************************************************************************** * I.MX6 Linux kernel LVDS backlight enable * 说明: * 由于目前U-boot阶段屏出现反白的现象,所以在U-boot阶段关闭了背光,之前 * 尝试在板级文件中打开背光,但由于那个地方Linux LVDS驱动还没有工作,导致 * 反白的现象还是存在,仅仅是时间变短了,于是最后将enable信号放在驱动…
/************************************************************************** * I.MX6 Linux Qt 启动流程跟踪 * 声明: * 1. 源代码来源MY-I.MX6: * 2. 本文仅仅是对启动流程的解析,没有解释启动流程为什么是这样的问题. * * 2015-6-13 深圳 晴 南山平山村 曾剑锋 *********************************************************…
/******************************************************************************************* * I.MX6 Linux I2C device& driver hacking * 声明: * 1. 本文主要是对Linux I2C驱动进行代码跟踪,主要是为了能够对I2C驱动框架有个全面的了解: * 2. 本文源代码来自myzr_android4_2_2_1_1_0.tar.bz2: * 3. 如果你有兴趣,…
/********************************************************************************* * I.MX6 Linux 3.0.35 SD boot * 说明: * 记录一下SD卡启动参数设置,记不住. * * 2017-11-2 深圳 南山平山村 曾剑锋 ********************************************************************************/ 一.…
/******************************************************************************** * I.MX6 linux kernel编译错误处理 * 声明: * 本文仅仅是对I.MX6的linux内核编译出错,记录其对应的处理方法. * * 2015-10-15 晴 深圳 南山平山村 曾剑锋 *******************************************************************…
/********************************************************************************** * I.MX6 Linux U-boot 环境变量解析 * 声明: * 在分析完I.MX6 Manufacturing Tool V2 (MFGTool2)中一些内容之后,这里仅仅是 * 为了验证其中的一些想法: * 1. 如何读取不在分区中的uImage,而是在emmc中1M地址上的uImage: * 2. U-boot的loa…
I.MX6 Linux eGTouch TouchScreen porting 一.Download Driver: http://www.eeti.com.tw/drivers_Linux.html 二.阅读:EETI eGTouch Linux Programming Guide 三.系统启动配置: ...... # 本人直接将驱动放在内核里了,并没有做成模块 # insmod /module/hid-multitouch.ko # 使用eGTouch_v2.5.4330.L-ma/eGTo…
I.MX6 linux tslib Corrupt calibration data 一.tslib出错 Corrupt calibration data 二.解决方法: ...... if [ -f /etc/pointercal ];then echo "I.MX6 touchscreen have calibrate!" else /usr/bin/ts_calibrate # 一定要注意添加这个同步,否则校正完,快速关机, # 容易报 Corrupt calibration d…
I.MX6 linux eGalaxTouch 自动获取设备节点 \\\\\\\\\\\\\\-*- 目录 -*-///////////// | 一. 需求: | 二. /proc/bus/input/devices 内容: | 三. 解决方法: | 四. 实际应用: -------------------------------------- 一. 需求: 获取eGalaxTouch的输入设备节点 二. /proc/bus/input/devices 内容: root@freescale /p…
使用 javah 生成头文件后, 编写c代码来实现其中声明的函数, 本文主要解决以下问题: (1) 如何生成动态链接库文件 使用如下格式的 gcc 命令可以将 C文件 编译为 .so 文件, 对于其依赖则稍微复杂一点, 需要使用各种参数. cc -shared -o <file name>.so <file.c...> 对于 Linux 而言, 编写 JNI 本机程序需要包含 $JDK_HOME/include 和 $JDK_HOME/include/linux, 其中 $JDK_…
一. 什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数.所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率.马达的转速等等.它的调用个数如下: int ioctl(int fd, ind cmd, …): 其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,有或没有是和cmd的意义相关的,如果有的话,第三个参数总是一个指针,但指针的类型依赖于re…
在为 ioctl 编写代码之前, 你需要选择对应命令的数字. 许多程序员的第一个本能的反 应是选择一组小数从0或1 开始, 并且从此开始向上. 但是, 有充分的理由不这样做. ioctl 命令数字应当在这个系统是唯一的, 为了阻止向错误的设备发出正确的命令而引起 的错误. 这样的不匹配不会不可能发生, 并且一个程序可能发现它自己试图改变一个非串 口输入系统的波特率, 例如一个 FIFO 或者一个音频设备. 如果这样的 ioctl 号是唯一 的, 这个应用程序得到一个 EINVAL 错误而不是继续…
tomca日志保存在${catalina}/logs目录下: 主要包括五类文件,开发测试常使用的日志主要保存在catalina.localhost日志中,且每天生成独立日志文件,结尾以日期命名,方便查看排错,分Windows和linux平台简要叙述下,windows启动服务时会开启一个新运行窗口,关掉窗口则服务器也停止,这一点和linux有点不同. windows平台,服务器启动日志在catalina.2016-06-29.log 文件中,程序中System.out和java报错打印信息打印出的…
相信来看本博文的朋友,肯定是已经玩过linux好段时间了,才能深刻理解我此番话语. 这是在Windows下的命令行接口 这是windows下的用户接口 就是它,explorer.ext,可以去尝试.把这个进程,结束,最后得到的是…
[lingyun@localhost ioctl_1]$ ls ipconfig.c [lingyun@localhost ioctl_1]$ cat ipconfig.c  /*********************************************************************************  *      Copyright:  (C) 2013 fulinux<fulinux@sina.com>   *                  Al…
其中在用windows下的cmd 进行curl命令,出现415报错,见下,请求头使用json形式,但报错却依然提示使用的是form表单形式: 一直以为问题出在springboot的转换器做stringtojson时出现问题,不想,在windows下,需要将-H " "消息头用引号,在-d 中最外面使用“” {}中的数据都需要\进行转义 如下: 对body部分修改,其中每个属性使用双引号,在花括号最外边用单引号 综上所述:在window中,-H 消息头需要双引号,在-d 数据中属性需要上…
在驱动编程里面经常会用到ioctl的系统调用,发现cmd = 2的时候,用户ioctl直接返回-1. 原因在于在linux-x.xx/fs/ioctl.c定义的do_vfs_ioctl函数 int do_vfs_ioctl(struct file *filp, unsigned int fd, unsigned int cmd, unsigned long arg) { ; int __user *argp = (int __user *)arg; struct inode *inode = f…
有时控制设备最好是通过写控制序列到设备自身来实现. 例如, 这个技术用在控制台驱动 中, 这里所谓的 escape 序列被用来移动光标, 改变缺省的颜色, 或者进行其他的配置任 务. 这样实现设备控制的好处是用户可仅仅通过写数据控制设备, 不必使用(或者有时候 写)只为配置设备而建立的程序. 当设备可这样来控制, 发出命令的程序甚至常常不需要 运行在和它要控制的设备所在的同一个系统上. 例如, setterm 程序作用于控制台(或者其他终端)配置, 通过打印 escape 序列. 控制程 序可位…
在看 scull 驱动的 ioctl 代码之前, 我们需要涉及的另一点是如何使用这个额外的参数. 如果它是一个整数, 就容易: 它可以直接使用. 如果它是一个指针, 但是, 必须小心些. 当用一个指针引用用户空间, 我们必须确保用户地址是有效的. 试图存取一个没验证过的 用户提供的指针可能导致不正确的行为, 一个内核 oops, 系统崩溃, 或者安全问题. 它 是驱动的责任来对每个它使用的用户空间地址进行正确的检查, 并且返回一个错误如果它 是无效的. 在第 3 章, 我们看了 copy_fro…
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围.写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑. 一. 什么是ioctl      ioctl是设备驱动程序中对设备的I/O通道进行管理的函数.所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率.马达的转速等等.它的调用个数如下:  int ioctl(int fd, ind cmd, …):      其中fd是用户程序…
/******************************************************************************************* * I.MX6 Android Linux UART send receive with multi-thread and multi-mode demo * 声明: * 1. 本软件是为了测试Android底层的Linux驱动以及硬件是否存在缺陷而编写的测试软件: * 2. 本软件可以设置为发送.接收.发送并接…
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围.写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑. 一. 什么是ioctl      ioctl是设备驱动程序中对设备的I/O通道进行管理的函数 .所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率.马达的转速等等.它的调用个数如下:  int ioctl(int fd, ind cmd, -):      其中fd是用户程…
前言 最近老大发现Tomcat的日志文件catalina.out里存在着大量的和公司项目相关的log信息,因为一般都是会使用日志框架并另外将log信息输出到另外的文件里的,catalina.out文件里就不需要这些多余的log信息了. 不过我在测试的时候发现,Linux和Windows下catalina.out文件的输出是有区别的. 在Linux和Windows下的差异 在Windows平台下,所有System.out, System.err以及printStackTrace()输出的log信息…
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围.写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑. 一. 什么是ioctl     ioctl是设备驱动程序中对设备的I/O通道进行管理的函数.所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率.马达的转速等等.它的调用个数如下: int ioctl(int fd, ind cmd, …):     其中fd是用户程序打开设…