专题11-LED驱动程序设计 第1课-字符设备控制 (1)作用 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如: 改变波特率。 (2)应用程序接口 在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd,unsigned long cm ...
分类:
其他好文 时间:
2019-06-09 22:08:12
阅读次数:
92
环境 官方文档:https://www.embedthis.com/goahead/doc/ 源码下载: goahead-4.1.0-src.tgz 系统平台:Ubuntu 12.04.4 gcc version 4.6.3 移植步骤 1.解压与编译 前提:交叉编译工具 arm-none-linux ...
分类:
其他好文 时间:
2019-06-04 13:18:39
阅读次数:
269
网络设备状态控制 内核模块和用户空间模块获取网络设备的信息状态主要方式有 netdev_chain 通知链 netlink 的RTMGRP_LINK 组播 通知链的事件: 网络设备的启用: ifconfig up cli 最后调用ioctl的SIOCSIFFLAGS 来激活设备。而SIOCSIFFL ...
分类:
其他好文 时间:
2019-05-11 18:29:30
阅读次数:
150
业务流程:1用户启动网银APP;2输入交易信息;3APP调用NDK接口ClientAPI.so,送入交易信息;4ClientAPI通过open/ioctl/close系统调用将信息送入Driver;5Driver通过TrustZone的SMC指令进入TEE;6TEE启动TA,并送入交易信息;7TA完成交易信息的显示,用户确认;8交易结果由TEE通过SMC指令返回Driver;9Driver将交易信
分类:
其他好文 时间:
2019-04-29 14:08:44
阅读次数:
104
title: vivi代码分析 date: 2019/4/23 19:30:00 toc: true [TOC] vivi代码分析 代码在 初始化注册 从入口函数分析 使用open/read/ioctl 系统调用分析 我们使用 来追踪 的系统调用 先来看下 ,搜索 这里返回了句柄4,我们可以搜索 也 ...
分类:
其他好文 时间:
2019-04-24 19:15:31
阅读次数:
168
[转自 https://www.cnblogs.com/hustcat/archive/2009/09/17/1568738.html https://www.cnblogs.com/hustcat/archive/2009/09/17/1568765.html ] socket入门(1) 1、TC ...
分类:
系统相关 时间:
2019-04-24 14:44:26
阅读次数:
244
大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如: 改变波特率 1 设备控制应用函数 在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd,unsigned long cmd,...) fd: 要控制的设备文件描述符 cmd: 发送给设 ...
分类:
其他好文 时间:
2019-04-18 14:49:35
阅读次数:
118
Binder 驱动是 Binder 的最终实现, ServiceManager 和 Client/Service 进程间通信最终都是由 Binder 驱动投递的。 Binder 驱动的代码位于 kernel 代码的 drivers/staging/android 目录下。主文件是 binder.h ...
分类:
其他好文 时间:
2019-04-12 19:01:11
阅读次数:
172
一、USB摄像头驱动框架如下所示:1.构造一个usb_driver2.设置 probe: 2.1. 分配video_device:video_device_alloc 2.2. 设置 .fops .ioctl_ops (里面需要设置11项) 如果要用内核提供的缓冲区操作函数,还需要构造一个video ...
分类:
其他好文 时间:
2019-03-31 09:26:25
阅读次数:
209
使用sleep()和usleep() 其中sleep精度是1秒,usleep精度是1微妙,具体代码就不写了。使用这种方法缺点比较明显,在Linux系统中,sleep类函数不能保证精度,尤其在系统负载比较大时,sleep一般都会有超时现象。 使用信号量SIGALRM + alarm() 这种方式的精度 ...
分类:
系统相关 时间:
2019-03-24 11:08:54
阅读次数:
226