![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 72
zzobin
学习
展开
-
bcm4752 gps调试
1.拷贝下列文件/system/bin/gpsd/system/bin/gpslogd/system/lib/hw/gps.default.so/system/etc/gps/gps.xml/system/etc/gps.conf2.原创 2014-05-15 16:33:14 · 3851 阅读 · 0 评论 -
LCD驱动时序
LCD时序图如下所示图1 外部引脚信号: VSYNC: 帧同步信号,表示扫描1帧的开始,一帧也就是LCD显示的一个画面。HSYNC: 行同步信号,表示扫描1行的开始。VDEN:数据使能信号。VD[23:0] : LCD像素数据输出端口。VCLK:像素时钟信号。 寄存器参数: VSPW:帧同步信号的脉宽,单位为1行(Line)的原创 2012-12-19 16:00:53 · 4703 阅读 · 0 评论 -
屏调试总结
一、上电时序,什么时候打开背光。二、根据屏的spec,设置屏的参数。见LCD驱动时序三、调试阶段 1.屏出现不亮情况 参数没有设置对,或者屏得到的信号不对。量量信号 2.图像不好 可能是GPU信号干扰,走线太长。单色输出,一路一试试。看看效果。原创 2013-01-04 15:26:10 · 645 阅读 · 0 评论 -
linux内核I2C体系结构(2)
四、在内核里写i2c设备驱动的两种方式前文介绍了利用/dev/i2c-0在应用层完成对i2c设备的操作,但很多时候我们还是习惯为i2c设备在内核层编写驱动程序。目前内核支持两种编写i2c驱动程序的方式。下面分别介绍这两种方式的实现。这里分别称这两种方式为“Adapter方式(LEGACY)”和“Probe方式(new style)”。(1) Adapter方式(LEGACY)(下面的实转载 2012-12-14 16:30:44 · 779 阅读 · 0 评论 -
linux内核I2C体系结构(1)
一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ● 思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。第一种方法问题(对应第二种方法的好处)有:转载 2012-12-14 16:29:19 · 571 阅读 · 0 评论 -
同一i2c接受不同地址的操作
注册一组i2c,但是在驱动需要用到不同地址去读写。实现如下:一、使用哪组i2c并声明static struct i2c_board_info i2c_devs6[] __initdata = { { I2C_BOARD_INFO("DPP0W", 0x10 >> 1), },};二、写i2c驱动定义各种地址:原创 2012-12-26 14:49:40 · 1165 阅读 · 0 评论 -
grep过滤
1.使用管道进行双层“过滤”,其中第二次grep使用了-v选项,即逆向匹配,打印出不匹配的行 grep -r 'function_name' * | grep -v '.svn' 2.或者更简单一些,直接使用--exclude-dir选项,即指定排除目录,注意svn前的 \. grep -r --exclude-dir=\.svn 'function_name原创 2012-12-13 16:51:51 · 5654 阅读 · 0 评论 -
Linux串口—struct termios结构体
一、数据成员termios 函数族提供了一个常规的终端接口,用于控制非同步通信端口。 这个结构包含了至少下列成员: tcflag_t c_iflag; /* 输入模式 */tcflag_t c_oflag; /* 输出模式 */tcflag_t c_cflag; /* 控制模式 */tcflag_t c_lflag; /* 本地模式转载 2012-11-21 15:28:24 · 525 阅读 · 0 评论 -
Binder驱动
Android可以选择进程通信方式,有以下三种:1.标准linux Kernel IPC接口2.标准D-BUS接口3.Binder接口Android中使用做多是Binder驱动。它主要实现下面的功能:1.用驱动程序来提高性能2.通过共享内存来提高性能3.为进程请求分配每个线程池4.针对系统中的对象引入了计数和跨进程的对象引用映射。5.进程间同步调用工原创 2012-11-13 11:33:10 · 688 阅读 · 0 评论 -
work queue原理
分成两大部分,第一部分是用来执行work queue中每个节点上挂载的函数的内核线程,第二部分是从驱动程序的角度看work queue的使用。第一部分 worker_thread内核线程Linux系统启动期间会创建一名为worker_thread线程,该线程创建之后就处于sleep状态。这里所谓的内核线程,从调度器的角度就是一可以调度的进程,从代码的表现形式看,就是一函数。系统创建的这个w转载 2012-11-07 11:19:36 · 718 阅读 · 0 评论 -
linux VIM命令
高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx 开始记录宏,并将结果存入寄存器xq 退出记录模式@x 播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,原创 2012-11-07 10:39:04 · 491 阅读 · 0 评论 -
用户空间使用i2c_dev
对于注册的i2c适配器,用户空间也可以使用它们。在Linux内核代码文件/include/linux/i2c-dev.c中针对每个适配器生成一个主设备号为89的设备节点,实现了文件操作接口,用户空间可以通过i2c设备节点访问i2c适配器。适配器的编号从0开始,和适配器的设备节点的次设备号相同。i2c适配器的设备节点是/dev/i2c-x,其中x是数字,代表适配器的编号。由于适配器编号是动态分配转载 2012-10-16 11:05:07 · 1029 阅读 · 0 评论 -
fd_set用法socket
select()函数主要是建立在fd_set类型的基础上的。fd_set(它比较重要所以先介绍一下)是一组文件描述字(fd)的集合,它用一位来表示一个fd(下面会仔细介绍),对于fd_set类型通过下面四个宏来操作: fd_set set; FD_ZERO(&set); /* 将set清零使集合中不含任何fd*/ FD_SET(fd, &set);转载 2012-08-27 18:38:57 · 2220 阅读 · 0 评论 -
linux线程 (二)
这里要讲的线程相关操作都是用户空间线程的操作。在Linux中,一般Pthread线程库是一套通用的线程库,是由POSIX提出的,因此具有很好的可移植性。 为什么要用线程:(其实现在我用不到,哈哈)进程是系统中程序执行和资源分配的基本单位。每个进程都拥有自己的数据段、代码段和堆栈段,这就造成了进程在进行切换等操作时都需要有比较负责的上下文切换等动作。为了进一步减少处理机的空转时间支持多处理器转载 2012-08-21 22:25:15 · 846 阅读 · 0 评论 -
linux线程(一)
自从多线程编程的概念出现在 Linux 中以来,Linux 多线应用的发展总是与两个问题脱不开干系:兼容性、效率。本文从线程模型入手,通过分析目前 Linux 平台上最流行的 LinuxThreads 线程库的实现及其不足,描述了 Linux 社区是如何看待和解决兼容性和效率这两个问题的。 一.基础知识:线程和进程 按照教科书上的定义,进程是资源管理的最小单位,线程是程序执行的最小单位转载 2012-08-21 22:21:39 · 931 阅读 · 0 评论 -
Uncompressing Linux... done, booting the kernel
今天用主线Linux内核移植到MINI6410,主线内核2.6.37.1基本已经支持了MINI6410的板子,所以移植到能够启动起来的阶段很简单,但是在移植的时候还是出现了一个比较常见的问题:MINI6410 # bootm 0x50008000## Booting kernel from Legacy Image at 50008000 ...Image Name: Linux-转载 2012-08-20 17:08:51 · 635 阅读 · 0 评论 -
linux下ssh服务配置
linux 下ssh 服务配置 SSH 服务器: 既然 telnet 不是很安全,那么我又需要以远程联机服务来操控我的 Linux 主机,那么应该怎么办呀!?最好的方法当然就是以较为安全的联机机制的方案来解决联机的问题啰!那么该如何解决这样的问题呢?这也不难啦,使用 SSH 即可。那么 SSH 是什么呢?他有什么特异功能?简单的来转载 2013-01-08 16:09:47 · 797 阅读 · 0 评论 -
关于linux alsa驱动文章
写的比较好的alsa分析文章,整个audio驱动是比较难的,alsa库一般很少去关注过。http://blog.csdn.net/droidphone/article/category/1118446原创 2013-01-11 16:30:07 · 517 阅读 · 0 评论 -
Android有线网调试
调试android ethernet 的常用命令1. netcfgnetcfg //查看ip情况netcfg eth0 up dhcp //通过dhcp 自动获取ip和网关2. ifconfigifconfig eth0 128.224.156.81 upifconfig eth0 128.224.156.81 netmask 255.255.255.0 up3原创 2014-01-09 16:53:40 · 1332 阅读 · 0 评论 -
git clone
git-clone(1) Manual PageNAMEgit-clone - Clone a repository into a new directorySYNOPSISgit clone [--template=] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o ] [-原创 2013-10-31 11:19:19 · 2641 阅读 · 1 评论 -
linux ko文件自动加载
linux ko文件自动加载 经过多方查找与实践,最终处理过程如下: 1.找到android源代码中的device文件夹下的相关项目文件夹,比如说我的项目是sdkdemo。 那就是/device/sdkdemo/2.将要加载的.ko文件拷贝至此文件夹下,也可以在此处另建一个新文件夹以便日后整理。3.打开/device/sdkdemo/原创 2013-10-31 10:47:38 · 8973 阅读 · 0 评论 -
usb设备
设备初始化:/kernel/arch/arm/mach-msm/board-msmxxxx.cUSB驱动文件文件:/kernel/drivers/usb/gadget/android.c-------复合设备,所有的f开头的接口设备向android.c注册,由android.c控制enable/disable/kernel/drivers/usb/gadget/f_原创 2013-10-31 15:28:30 · 1433 阅读 · 0 评论 -
串口设置
这是三星平台的串口设置,从uboot到kernel原创 2013-10-09 10:39:04 · 1978 阅读 · 1 评论 -
grep find 命令组合使用
find grep 组合的一个例子 用来查找所有".h"文件中的含有“helloworld”字符串的文件. find -name "*.h" -exec grep "helloworld" {} \; 使用exec或ok来执行shell命令 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的 在有些操作系统中只允许-e转载 2013-09-05 11:04:58 · 1065 阅读 · 1 评论 -
dd命令
先简要介绍dd的参数,后边通过几个实例介绍dd的应用,参考了其他网友的资料,在此一并感谢 小菜水平有限文中有什么错误请大家指正,关于dd还有什么好的使用方法,可以贴出来,小菜会及时更新 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 1. 命令简介 dd 的主要选项: 指定数字的地转载 2013-03-18 09:33:17 · 747 阅读 · 0 评论 -
svn命令
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所转载 2013-03-07 17:01:22 · 585 阅读 · 0 评论 -
DBUS
DBUS基础知识1. 进程间使用D-Bus通信D-Bus是一种高级的进程间通信机制,它由freedesktop.org项目提供,使用GPL许可证发行。D-Bus最主要的用途是在Linux桌面环境为进程提供通信,同时能将Linux桌面环境和Linux内核事件作为消息传递到进程。D-Bus的主要概率为总线,注册后的进程可通过总线接收或传递消息,进程也可注册后等待内核事件响应,例如等待转载 2013-02-22 14:00:19 · 916 阅读 · 0 评论 -
基于OHCI的USB主机 —— 总体构架
在我们的系统中,USB主机就是用来对U盘进行读写操作,因此在设计和构架上就完全围绕这个目的而进行。整个系统所涉及到的内容比较多,按照嵌入式系统开发的一般原则,采用层次化的体系结构,将系统按照功能划分为若干层次,每一层完成相应的功能。根据系统的业务需要,系统总体构架如下:9业务应用层8文件操作API层7文件系统层6U盘操作命令接转载 2013-02-01 11:08:20 · 525 阅读 · 0 评论 -
RF kill switch support
1、介绍 rfkill子系统在系统对于禁止无线设备工作提供了一个通用的接口,当无线设备被阻止工作时,它就不会在消耗功率。这个子系统在用户开关按钮上提供了一个方法去阻止某种无线设备的工作。这是用于某些环境下(比如飞机) ,无线设备就必须被关闭。子系统有硬件和软件模块的概念。在概念上这些意义很小,关于在于它能否被改变。2、实现细节 rfkill核心为内核驱动提转载 2013-01-31 20:45:34 · 659 阅读 · 0 评论 -
USB的VID和PID,以及分类(Class,SubClass,Protocol)
USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)。VID由供应商向USB-IF(Implementers Forum,应用者论坛)申请。每个供应商的VID是唯一的,PID由供应商自行决定。主机通过VID和PID来识别不同设备,根据它们(以及设备的版本号),可以给设备加转载 2013-01-31 09:54:57 · 1605 阅读 · 0 评论 -
u盘文件系统问题
一、现象分析 之前在操作U盘时候,出现不能挂载,应该文件系统出现bug。在xp下面也不能格式化。后来在ubuntu下试试,也是不可以挂载。挂载时候报, /dev/sdf4 bad superblock error。整个尝试流程:1.检查ext文件系统的正确性sudo e2fsck /dev/sdf4结果如下:e2fsck 1.41.11 (14-Mar原创 2013-01-14 10:54:27 · 3349 阅读 · 0 评论 -
linux文件系统和mount(硬盘,win分区,光驱,U盘)
fdisk–l查看dos/win/ext2分区(partiton,不是slice,slice是solaris分区)[root@localhost etc]# /sbin/fdisk -lDisk /dev/hda: 80.0 GB, 80026361856 bytes255 heads, 63 sectors/track, 9729 cylindersUnits = c转载 2013-01-14 09:16:05 · 975 阅读 · 0 评论 -
android串口程序
提到串口编程,就不得不提到JNI,不得不提到JavaAPI中的文件描述符类:FileDescriptor。下面我分别对JNI、FileDescriptor以及串口的一些知识点和实现的源码进行分析说明。这里主要是参考了开源项目android-serialport-api。 串口编程需要了解的基本知识点:对于串口编程,我们只需对串口进行一系列的设置,然后打开串口,这些操作我们可以参考串口调试转载 2012-08-01 17:15:29 · 4578 阅读 · 3 评论 -
hdd mounted fail
Message:Error mounting: mount exited with exit code 13: $MFTMirr does not match $MFT (record 0).Failed to mount '/dev/sdf3': Input/output errorNTFS is either inconsistent, or there is a hardwa原创 2012-07-18 15:11:32 · 1927 阅读 · 0 评论 -
串口AT命令的困窘--解窘篇
接上篇,既然应用程序不能运行,可以考虑其他方案。我在busybox里加入新的命令,同时这个新的命令也可以完成我需要的功能。Let me step by step: 一、在busybox里加入新命令。 我使用的busybox版本是busybox-1.13.3。 step 1: 在./miscutils目录下面新建源代码清单 envi原创 2012-07-12 16:28:29 · 3698 阅读 · 0 评论 -
s5pc110烧录
由于需要从onenand启动,没有接串口,从otg口接USB,连ADB使用fastboot刷写。操作步骤如下: 1.首先编译一个从SD卡或TF卡启动的uboot,作用是烧录u-boot-config_fused.bin到onenand里,注意在smdkc110_mtd.h文件里修改下列地方: //#define CFG_FASTBOOT_ONENANDBSP //#原创 2012-05-22 14:52:51 · 1737 阅读 · 0 评论 -
s5pc110 uboot
1.No MBR错误如果提示如下错误:Error: No MBR is found at SD/MMC. Hint: use fdisk command to make partitions.则先执行指令"fdisk -c 0",执行过程如下:SMDKV210 # fdisk -c 0原创 2012-04-20 17:52:28 · 2422 阅读 · 0 评论 -
找不到gcc
在ubuntu10.04下,安装了交叉编译,设置好路径,但是在编译uboot时候,会报出找不到gcc,很奇怪,路径都对了。找了一阵子,回到http://source.android.com/source/initializing.html Installing required packages (Ubuntu 10.04 -- 11.10)You will need a原创 2012-04-21 17:27:48 · 2135 阅读 · 0 评论 -
ubuntu下minicom,fastboot安装
一、minicom的安装 1.用sudo apt-get install minicom安装 2.设置 用sudo minicom -s进入设置界面,选择Serial port setup选项: serial device :/dev/ttyUSB0 Bps/Par/Bits:115200 8N1原创 2012-04-20 21:10:13 · 3893 阅读 · 0 评论 -
linux命令
最近常用到的命令: 1.进入终端ALT+F2 输入 gnome -terminal 2.用grep命令搜索 1 ) 如果根据文件中的内容查找,比如main字符 grep main *.* (所有文件) 2)如果查找文件在当前文件夹的子文件夹下,而且有多个子文件原创 2012-03-21 09:59:34 · 726 阅读 · 0 评论