
嵌入式/驱动
文章平均质量分 53
yingxian_Fei
若是注定发生,必定如你所愿
展开
-
android4.4调整音量调节速度
本文记录在android4.4中实现音量调节速度的方法以及可能遇上的问题。1、框架层主要的音量调节速度修改在如下文件中:android/frameworks/base/media/java/android/media/AudioManager.java修改如下两个变量的值: /** * Increase the ringer volume. * * @see #...原创 2018-05-10 14:48:26 · 931 阅读 · 0 评论 -
A20内核编译错误undefined reference to `hwmon_device_register'
drivers/built-in.o: In function `axp20_init_chip':/home/linux-sunxi/drivers/power/axp_power/axp20-mfd.h:149: undefined reference to `hwmon_device_register'drivers/built-in.o: In function `axp_mfd_原创 2014-08-31 13:59:55 · 2903 阅读 · 0 评论 -
海思3515添加串口
原文出处:开始系统dev下面只有ttyAMA0和ttyAMA1两个串口设备,其中ttyAMA0是调试串口,hi3515芯片共有4个串口,其他的两个需要修改内核代码,重新编译内核才可以使用,具体修改如下:1、 配置内核进入到内核根目录执行makemenuconfig命令跳出如图所示:依次选择Device Drivers ->选择 Character devices ->选择Se转载 2014-09-11 17:32:21 · 3019 阅读 · 0 评论 -
readb(), readw(), readl(),writeb(), writew(), writel() 宏函数
原文出处:http://blog.163.com/kmustchenb@126/blog/static/110905765201041213122478/readb(), readw(), readl()函数功能:从内存映射的 I/O 空间读取数据。readb 从 I/O 读取 8 位数据 ( 1 字节 );readw 从 I/O 读取 16 位数据 ( 2 字节转载 2014-09-11 17:18:24 · 1017 阅读 · 0 评论 -
编译多个文件到内核模块
转载自:http://www.cnblogs.com/cute/archive/2011/03/24/1993712.htmlKERNEL_PATH = /usr/src/kernels/2.6.29.4-167.fc11.i586/ CURRENT_PATH = /tmp/tmp/procfs/myfs obj-m = myfs.o myfs-objs = hell转载 2014-09-19 10:22:57 · 1223 阅读 · 0 评论 -
全志open-ssh Could not load host key: /etc/ssh/ssh_host_key问题
一、问题背景:修改linuxnetwork重启之后,出现如下报错:sshd@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: UNPROTECTED PRIVATE KEY FILE! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@转载 2014-08-07 13:23:25 · 5092 阅读 · 0 评论 -
SourceInsight中添加注释快捷键
在使用SI过程中,我根据自己的使用习惯修改了它的默认快捷键,并且在配置文件中添加了一些人性化功能,下面一一介绍: 修改快捷键:Options->Key Assignments...1.main window:Esc 2.Hight light:Middle Mouse3.Go Back:Alt+z 4.Go Forward:Alt+x转载 2014-04-24 22:37:51 · 10269 阅读 · 0 评论 -
启用linux内核对usb摄像头的支持
本文讲解配置linux内核实现其对usb摄像头的支持。1、配置内核;允许如下命令配置linux内核原创 2014-06-09 14:19:13 · 8455 阅读 · 1 评论 -
ubuntu下安装ndk
本文讲解在ubuntu12.04下安装ndk1、下载ndk;原创 2014-05-26 11:04:38 · 1122 阅读 · 0 评论 -
启用linux内核中的nfs服务
很多默认的板子都没有开启nfs服务,这让软件调试起来很不方便,本文ji原创 2014-06-09 14:12:44 · 4836 阅读 · 0 评论 -
linux内核中配置关闭无线功能
make Device Drivers --->原创 2014-06-23 12:31:40 · 2255 阅读 · 0 评论 -
G.711音频编解码
搞语音对讲几天了,播放时声音干扰太大了。拖得时间久有两个原因:1.每次采样的位数这个值设置的问题。本来是用的采样位数为16,但是服务端那边说用8。导致编解码时8位的始终有杂音。1.G711编解码的问题:用了一个错误的编解码程序。目前用的编解码代码对于8为始终有杂音下面把编解码的代码放在这里,16为采集效果很好[cpp] view plaincopy//编码转载 2014-04-25 09:20:07 · 3332 阅读 · 0 评论 -
armel和armhf
armel和armhf指得是arm体系中有fpu(浮点运算单元)的,有的arm没有fpu,则不能有armel和armhf两种使用fpu的方式了。armhf比armel硬件要求(确切的是指fpu硬件)高一点。如果fpu硬件,达到要求的标准了就可以通过gcc的选项-mfloat-abi来指定使用哪种,如下三种值:soft是不用fpu计算,即使有fpu浮点运转载 2014-04-09 10:35:06 · 771 阅读 · 0 评论 -
__concurrence_broadcast_error问题解决办法
最近切换平台,编译器换成g++ 4.4.1,编译后运行程序,出现如下错误信息: 点击(此处)折叠或打开terminate called after throwing an instance of '__gnu_cxx::__concurrence_broadcast_error' what(): __gnu_cxx::__concurrence_broadca原创 2014-04-23 15:07:08 · 1417 阅读 · 0 评论 -
android.mk用法和基础
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。选项参考以下文件:build/core/config.mk,默认的值在以下文件中定义:build/core/base_rules.mk。编译系统为转载 2014-04-08 11:42:56 · 676 阅读 · 0 评论 -
linux I2C驱动架构分析
I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线。 因此,I2C总线被非常广泛地应用在EEPROM,实时钟,小型LCD等设备与CPU的接口中。 linux下的驱动思路 在linux系统下编写I2C驱动,目前主要转载 2014-03-22 16:29:05 · 695 阅读 · 0 评论 -
添加驱动程序到linux内核树
一.概述:在linux内核中增加程序需要完成以下三项工作:1.将编写的源代码复制到Linux内核源代码的相应目录2.在目录的Kconfig文件中增加新源代码对应项目的编译配置选项3.在目录的Makefile文件中增加对新源代码的编译条目二.实例1.先把驱动代码usbtmc(文件夹)赋值到/usr/src/linux-headers-2.6.32-31-generic/dri转载 2014-09-12 17:57:32 · 1114 阅读 · 0 评论 -
A10/A20bootloader加载过程
转载自:http://blog.youkuaiyun.com/allen6268198/article/details/12905425注:由于全志A10和A20在加载Bootloader过程方面基本一致,下面仅以A20叙述,但同时也适用于A10。另外在不需要区分Cubieboard1和Cubieboard2的情况下,统称为Cubieboard;另现在市面上一般所说的SD卡即为Micro SD Car转载 2014-09-17 13:32:29 · 953 阅读 · 0 评论 -
U_boot 的 bootcmd 和bootargs参数详解
转载自:http://www.cnblogs.com/cornflower/archive/2010/03/27/1698279.html U-boot的环境变量值得注意的有两个: bootcmd 和bootargs。u-bootcmd 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境的参数设置,然后设置b转载 2014-09-17 12:57:32 · 571 阅读 · 0 评论 -
【android】全志T3 android6.0串口6不能正常使用的问题
今天移植全志提供的android6.0sdk到我们自己的平台上,在验证相关功能时发现串口6无法正常进行收发,排除本身测试代码问题后,排查sdk,发现其提供的sdk中对于串口6的配置有坑,记录下解决方法,希望帮助到其他人。1、问题描述sys_config.fex中配置了串口6,init.rc中增加其对应的读写权限,然后编写测试程序对串口进行,读写,发现无法收到测试程序写入的数据,接收估计可以原创 2017-12-21 15:19:44 · 3396 阅读 · 0 评论 -
【linux】全志T3从内核查看IO复用属性
最近调试全志T3的处理器,但是手上没有芯片的spc文档,这时候无法从文档得知各个IO的复用如何配置,此时可以从sdk的kernel中找到复用的相关配置信息。如T3的sdk中可以从kernel的如下文件中找到一些IO的复用配置:lichee/linux-3.10/drivers/pinctrl/sunxi/pinctrl-sun8iw11p1.c直接贴上该文件的源码,IO的配置都被保存在了结原创 2017-12-21 09:58:42 · 3794 阅读 · 0 评论 -
【命令使用】rsync跳过大目录
rsync命令的介绍和使用方法不在此介绍,本处仅记录在使用时如何跳过不想要的大目录。背景如下:1、ubuntu服务器新增了1T硬盘;2、需要同步原有home目录下的用户目录到新硬盘挂载的硬盘目录(/home2);3、同步时跳过某一个用户(test)目录下的大文件目录(T3),需要跳过的目录全路径为"/home/test/T3";此时可以使用rsync的--exclude命令实现原创 2017-10-20 11:01:51 · 2656 阅读 · 0 评论 -
【环境配置】ubuntu中shell命令不能识别通配符的解决办法之一
今天遇上一个忧桑的问题。配置完编译环境,发现shell脚本或者终端中无法识别通配符”*“,使用时提示如下错误信息:cannot access *: No such file or directory如下为我使用的解决办法 ,记录下希望帮助到需要的人:1、查看nullglob配置运行shopt命令,查看nullglob选型的配置,命令如下:shoptshopt的使用说明可以查阅如原创 2017-10-19 18:01:56 · 4949 阅读 · 0 评论 -
android驱动模块不能自动插入
android中的驱动模块在单独编译更新替换后重启不能按照init.rc中的语法进行自动插入,但是手动插入是ok的。此时可能是由于驱动的权限问题导致。解决办法是将该驱动模块的权限该为644即可。原创 2017-02-23 14:06:38 · 594 阅读 · 0 评论 -
linux驱动中实现上层select接口
在驱动中实现file_operations结构的poll方法后,上层应用可以通过select或者poll方法来查询设备是否有数据可以读写。本文记录驱动中实现上层select查询设备是否有数据可以读取的方法。1、实现file_operation实现file_operation结构体中的相关打开、关闭、查询和读取方法,在上层调用select接口时会调用poll方法,该方法完成如下动作:①原创 2016-04-20 14:14:44 · 2792 阅读 · 0 评论 -
linux驱动中使用顺序锁
顺序锁与读/写自旋锁类似,只是现在写的优先级高于读操作。事实是:即使載读者正在读的时候也允许写操作的运行。这种策略的好处是写操作不会等待,除非另一个写操作正在进行。其缺点就是读操作不得不多进行几次直到获得有效的副本。更多信息请自行查阅。1、定义顺序锁seqlock_t sq_lock;seqlock_init(&sq_lock);2、读数据int value = 0;unsi原创 2016-04-20 14:21:41 · 643 阅读 · 0 评论 -
linux 内核线程demo
#include#include#include#define SWITCH_DELAY_S (2000)struct switch_struct { int en; struct mutex en_lock; struct mutex sw_lock; struct task_struct *task;}switch_info;stat原创 2016-03-19 13:45:34 · 626 阅读 · 0 评论 -
v4l2_i2c_new_subdev_board接口分析(侧重I2C设备的探测)
转载自:http://blog.youkuaiyun.com/mailbox2005/article/details/5990510[cpp] view plaincopyV4L2中增加I2C设备接口:v4l2_i2c_new_subdev_board接口分析 struct v4l2_subdev *v4l2_i2c_new_subdev_board(struct v4l2_devi转载 2015-04-28 14:20:38 · 1885 阅读 · 0 评论 -
DEVICE_ATTR的使用
转载自:http://blog.youkuaiyun.com/njuitjf/article/details/16849333使用DEVICE_ATTR,可以在sys fs中添加“文件”,通过修改该文件内容,可以实现在运行过程中动态控制device的目的。类似的还有DRIVER_ATTR,BUS_ATTR,CLASS_ATTR。这几个东东的区别就是,DEVICE_ATTR对应的文件在/sys/de转载 2015-02-26 16:07:23 · 783 阅读 · 0 评论 -
USB OTG中ID脚解释
转载自:1. 概要 OTG设备使用插头中的ID引脚来区分A/B Device,ID接地被称作为A-Device,充当USB Host,A-Device始终为总线提供电力,ID悬空被称作为B-Device,充当USB Device,设备的USB Host/USB Device角色可以通过HNP(主机交换协议)切换。OTG设备连接时不能跨越USB Hub,如果跨越USB Hub则失转载 2014-10-31 14:52:22 · 19395 阅读 · 1 评论 -
linux驱动中在/proc虚拟文件系统目录下自动创建设备
本文实例演示如何在linux驱动编程中使驱动zid原创 2014-10-28 14:42:29 · 1528 阅读 · 0 评论 -
Linux输入子系统:输入设备编程指南 -- input-programming.txt
转载自:输入设备编程指南(Programming input drivers)~~~~~~~~~~~~~~~~~~~~~~~~~1. 新建一个输入设备驱动程序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1.0 一个最简单的例子~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~转载 2014-10-28 12:03:37 · 598 阅读 · 0 评论 -
使用adb工具向android设备上传/下载文件
转载自:ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod手机它的主要功能有:* 运行设备的shell(命令行)* 管理模拟器或设备的端口映射* 计算机和设备之间上传/下载文件* 将本地apk软件安装至模拟器或android设备本人发现用ADB在转载 2014-10-23 18:00:41 · 1801 阅读 · 0 评论 -
linux字符设备驱动中自动创建设备节点
本文简述在linux字符设备驱动编程中自动创建设备节点。至于手动创建设备节点的编程原创 2014-10-23 19:48:51 · 2306 阅读 · 0 评论 -
linux GPIO驱动相关
GPIO配置脚本的使用:Port:端口+组内序号1.函数原型: int Script_parser_fetch(char *main_name, char *sub_name, int value[], int count); 主键名称, 子键名称 存放用户获取的数据 传进的数据空间的最大word个数成功返转载 2014-03-22 15:17:47 · 1212 阅读 · 0 评论 -
I2C-tool使用
1.下载 i2c-tools-3.0.2.tar.bz22. 解压后,修改Makefile文件,选择arm的编译器,同时在tools的Module.mk文件中编译选项中添加-static静态编译选项,不然生成的执行文件会提示无法找到的提示;静态-static 添加在-o的前面就行了。3.一切顺利生成i2cdetect,i2cdump,i2cset,i2cget等命令工具;4.adb转载 2014-04-01 21:02:46 · 5416 阅读 · 0 评论 -
linux中的jrtp编程
From:http://apps.hi.baidu.com/share/detail/5237267 流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。转载 2014-02-12 14:33:43 · 834 阅读 · 0 评论 -
ORTP函数库
我们知道, RTP(Real-timeTransportProtocol)是用于Internet上针对多媒体数据流的一种传输协议,做流媒体传输方面的应用离不开RTP协议的实现及使用,为了更加快速地在项目中应用RTP协议实现流媒体的传输,我们一般会选择使用一些RTP库,例如使用c++语言编写的JRTPLIB库,网上关于RTP协议以及JRTPLIB库的介绍已经很多了,在此我也不再赘述,文本主要介绍实现转载 2014-02-11 17:35:16 · 906 阅读 · 1 评论 -
编译oRTP库
oRTP源码官方下载地址: http://download.savannah.gnu.org.sixxs.org/releases/linphone/ortp/sources/也可以下载我上传的ortp源代码:http://download.youkuaiyun.com/detail/yxtouch/69148871. 编译oRTP编译及安装进入主目录:cd ~/ortp-0.2原创 2014-02-12 10:21:21 · 3199 阅读 · 0 评论 -
Ubuntu中安装nfs服务器
转载请声明出处:1、安装nfs服务器 sudo apt-get install nfs-kernel-server2、修改nfs配置文件/etc/exports,添加nfs共享目录 sudo vi /etc/exports 在文件中加上如下一句 /home/fyx/share *(rw,sync,no_root_squash,no_subtree原创 2014-02-10 09:44:16 · 791 阅读 · 0 评论