- 博客(91)
- 资源 (8)
- 收藏
- 关注
原创 调试休眠和唤醒
调试休眠和唤醒在做Android或者是Linux的调试中,在消费电子领域中对用电的要求比较的严格,所以大家对设备的休眠比较关注。一定要在系统发起休眠命令的时候要进入,这里来看下平时可以采取什么方式来调试。1、no_console_suspend 在kernel启动参数里面加上no_console_suspend,这个是最基本的,因为kernel在把console sus
2012-08-27 21:45:45 10105 1
原创 CTS sensor错误--shows sensors [xxxx xxxx] expected:<false> but was:<true>
在跑cts的时候碰到有一个问题,现在记录如下:错误声明:junit.framework.AssertionFailedError: PackageManager#hasSystemFeature(android.hardware.sensor.compass) returns false but SensorManager#getSensorList(2) shows sensor
2012-05-15 21:19:22 5335
原创 android leds简单代码总结
linux leds 【源码:linux-3.2-rc7】关于led,前两天被问道一个问题,这里顺便总结下吧。 led,对于我们所有的人来说这是一个比较简单的模块,当然也是学习时比较好入口的一个模块。分析驱动,都了解先看Makefile &Kconfig# LED Coreobj-$(CONFIG_NEW_LEDS)
2012-05-07 20:52:13 4353 7
原创 Linux 固件子系统----如何更新固件
在一般的使用中,可能会需要使用到升级固件这个功能,在linux的系统中提供了固件子系统这个设备模型来帮助快速的升级固件。在这里先将linux中提供的常用的接口来说明下:内核的固件接口:#include int request_firmware(const struct firmware **firmware_p, const char *name,
2012-04-19 21:35:45 15575 2
原创 Android tp的虚拟按键(virtual key)处理
Android tp的虚拟按键处理现在在越来越多的Android的手机都是虚拟按键来操作,但是对于开发者来说可能会关心Android对虚拟按键如何处理的。对Linux熟悉的人可能会说,it's easy, 调用input_report_key()。OK,你说的没有错误,但是在android中,google让你对策略和驱动有了更加深入的了解。APP------->
2012-03-14 20:49:21 14687 2
原创 内核映像启动时基本概念介绍
内核1、压缩和非压缩内核映像非压缩内核映像是真正的Linux内核代码。压缩内核映像是把非压缩内核映像作为数据进行压缩打包,并加入了解压缩代码。也就是说,他是一个自解压的可执行映像。压缩内核映像执行时,先解压内部包含的数据块(即非压缩内核映像),再去执行非压缩内核映像。非压缩内核映像由make Image命令产生。其生成过程是:(1)内核的各个模块经过编译,链
2011-11-01 21:43:05 3315
原创 makefile参数说明
通常我们需要看看自己的编写的makefile是否有错误,命令是否正确,执行顺序是否使我们期望的方式,这里就需要使用makefile的参数。-n--just-print--dry-run--recon不执行参数,这些参数只是打印命令,不管目标是否更新,把规则和连带规则的命令打印出来,但不执行。-t--touch这个参数的意思就是把目标文件的时间更新,但
2011-11-01 21:39:06 10723
原创 Makefile中使用的函数
Makefile中使用的函数在学习有哪些函数之前,现在先看看如何使用,语法是怎么样的。如下:$()或是${}这里,function是函数名,make支持的函数不多。arguments是函数的参数,参数间以逗号“,”分隔,函数名和参数之间以“空格”分隔。函数调用以“$”开头,用圆括号或者是花括号括起。语法就是这些,起始是要注意格式要求,现在开始makefile中的函数
2011-11-01 21:37:24 2759
原创 shell中引号的使用
在我们shell脚本中,通常会使用引号,但是使用的引号到底有哪些区别呢? 单引号目的: 为了保护文字不被转换.除了他本身. 就是说除去单引号外, 在单引号内的所有文字都是原样输出.双引号目的: 为了包含文字或者函数段. 除了本身,反引号内的函数,$开头的变量和\开头反转换的字符外, 其余都是直接输出.反单引号函数转换. 但单引号内其无作用.比如a=`da
2011-11-01 21:34:20 2159
原创 cat proc/version在内核中是如何实现的?
proc/version平时的时候我们都在用cat /proc/version来获得我们内核的版本号,但是是如何产生的呢?let's see see fs/proc/version.c。static int version_proc_show(struct seq
2011-09-23 22:31:51 14653
原创 printk如何定向输出到UART的?
我们通常在config里面配置这么一句“CONFIG_CMDLINE="console=tty0 console=ttyMT3,921600n1 root=/dev/ram"”,然后修改console的赋值就可以改变输出的位置,代码中如何实现的呢?这里紧接着上文中的pri
2011-09-06 21:40:27 4757
原创 走读printk代码
走读printk代码在我们书写内核代码的时候通常会使用printk,这里我们看下printk是如何和uart关联起来的。关于uart的相关的硬件知识不介绍了,so easy。我们这里只是走读下printk的代码,看看和uart的驱动的关联。printk--
2011-09-06 19:32:35 4676
原创 Android 让adb logcat打印内核调试信息
Android让adb logcat打印内核调试信息在默认情况下,adb logcat只能显示应用程序的调试信息,我把logcat.cpp修改了一下,让它同时可以打印内核调试信息:修改的文件:system/core/logcat/logcat.cpp1、首
2011-08-30 21:52:01 5603 1
原创 基于V4L2的视频驱动开发
基于V4L2的视频驱动开发编写基于V4L2视频驱动主要涉及到以下几个知识点:●摄像头方面的知识要了解选用的摄像头的特性,包括访问控制方法、各种参数的配置方法、信号输出类型等。●Camera解码器、控制器如果摄像头是模拟量输出的,要熟悉解码器的配置。最后数字视频
2011-08-25 21:00:30 4375 1
原创 Linux调试中使用的proc和sys中的接口
在调试的过程中我们通常需要去不停的修改寄存器的值来调试效果,在现在发现有两个手段,分别利用的proc和sysproc--| |-----read_proc |-----write_proc sys---| |----
2011-08-02 22:13:00 3817 4
原创 LCD驱动中常识问题
1、常见的视频格式分辨率QQCIF Quarter QCIF 88*72 QCIF面积的1/4SQCIF Sub Quarter CIF 128*96 QCIF Qua
2011-08-02 21:43:33 2699
原创 内核中并发所所采取的措施
多线程执行的时候会出现并发的问题,处理不好,多线程会出现数据处理的错误。SMP(对称多处理器)和内核抢占是多线程执行的两个场景。我们提出要保护共享内核资源的问题,下面有内核中常用的方式。1、自旋锁和互斥体 首先先了解临界区的概念,临界区是访问共享资源的代码
2011-07-05 21:45:40 2580
原创 linux gpio模拟i2c的使用
linux kernel 中的i2c-gpio使用 在linux中,我们可以自己来使用gpio来模拟i2c,但是万能的linux中其实也已经有了i2c的东东了。 现在看看i2c-gpio.c文件中到底提供了哪些接口static void i2c_gpio_setsda_dir(void *data, int state)static void i2c_gpio_s
2011-06-29 20:13:00 18078 3
转载 linux中常用的头文件
#include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。#include 在linux-2.6.31_TX2
2011-06-23 16:00:00 3238
原创 mstsc保存用户名和密码,实现自动登录远程桌面
mstsc保存用户名和密码,实现自动登录远程桌面首先可以使用mstsc /?来查看关于mstsc的参数说明根据上述的命令说明,我这里实现的bat文件为mstsc C:/a.rdp /console /v: xxx.xxx.xxx.xxx:3389 a.rdp内容screen mode id:i:1 desktopwidth:i:1280 desktopheight:i:750 session bpp:i:24 winposstr:s:2,3,188,8,1062,721 full add
2011-06-02 21:25:00 54788 15
转载 使用 inotify 监控文件系统的活动
系统管理就像日常生活一样。就像刷牙和吃蔬菜一样,日常的维护能保持机器的良好状态。您必须定期清空废物,比如临时文件或无用的日志文件,以及花时间填写表单、回复电话、下载更新和监控进程等。幸好自动化 shell 脚本、使用 Nagios 等工具进行监控、通过常见的 cron 进行任务调度可以减轻这个负担。但奇怪的是,这些工具没有一个具有响应性。当然,您可以安排一个频繁运行的 cron 任务来监控条件,但这样繁忙的轮询 — 消耗大量资源并且具有不确定性 — 并不是很理想。例如,如果您必须监控输入数据的几个 Tran
2011-05-16 13:31:00 1339
原创 arm Linux系统启动之----reset_init,系统1号进程
<br />先来看下一些基础概念<br />内核线程(thread)或叫守护进程(daemon),在操作系统中占据相当大的比例,当Linux操作系统启动以后,<br />尤其是Xwindow也启动以后,你可以用”ps”命令查看系统中的进程,这时会发现很多以”d”结尾的进程名,这些进程就是内核线程。<br />内核线程也可以叫内核任务,它们周期性地执行,例如,磁盘高速缓存的刷新,网络连接的维护,页面的换入换出等等。在Linux中,内核线程与普通进程有一些本质的区别,从以下几个方面可以看出二者之间的差异:<br
2011-05-12 20:51:00 4011
原创 arm Linux系统启动之----start_kernel函数
head-common.S---具体做了哪些动作---跳转到init/main.c ---b start_kernel//关于start_kernel的强文深入理解linux内核,第八章main.casmlinkage void __init start_kernel(void){char * command_line;extern struct kernel_param __start___param[], __stop___param[];//来设置smp pro
2011-05-11 20:52:00 5613
转载 Shell中if的相关参数
<br /><br />由于自己不是经常使用shell,所以有时候命令经常容易忘,这里把其中的一个if的参数给保存下吧。<br /> <br />-----------------------------华丽的分割线之下是转贴内容-------------------------------------------------------------<br /> <br />[ -a FILE ] 如果 FILE 存在则为真。 <br />[ -b FILE ] 如果 FILE 存在且是一个块特殊文件
2011-04-06 16:14:00 703
原创 【Andorid】input系统的事件处理
static int __init keypad_init(void){...... platform_driver_register(&keypad_drv);//注册platform设备......}在上篇中有一个基本的input的设备的简介,这里我们在说一下input core相关的东东。先来个开胃菜,先看看struct input_devstruct input_dev { const char *name; //device的name
2011-03-24 17:56:00 2531 1
原创 【doc/input】input系统基础
在我的印象中,input系统应该是将输入设备进行了抽象得到的一个统一的接口。常见的键盘,光鼠,轨迹球,传感器我们都可以归到input系统中来。编写一个input的基本的步骤是:1创建input device和driver1.0 一个简单的例子一个简单的例子是一个简单的I/O按键(BUTTON)。当一个按下或者释放的动都都会产生一个BUTTON_IRQ。#include #include #include #include #include static struct input_dev *button_de
2011-03-01 14:25:00 1601 1
原创 ubuntu rar解压缩出现无效的编码的问题
<br />ubuntu默认是无法解压缩rar格式的文件,需要安装其他的软件。<br />通常我们的做法为sudo apt-get install rar来解决。但是这样安装之后会在解压部分文件的时候出现“无效的编码”的问题,原因在于该rar文件中的编码与ubuntu不同。<br />我的解决的办法是:<br />1、卸载掉当前的rar软件<br /> sudo apt-get remove rar<br />2、安装p7zip-rar解决<br /> udo apt-get install
2011-01-04 14:39:00 3120 1
原创 Android编译错误处理
1、java.util.zip.ZipException: duplicate entry: hyts_Foo.c 错误java.util.zip.ZipException: duplicate entry: hyts_Foo.c at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175) at java.util.jar.JarOutputStream.putNextEntry(Jar
2010-12-16 14:53:00 11404 2
原创 Android Lights笔记
Android Lights1、lights类型在Android中目前定义的lights有以下的几种。/* * These light IDs correspond to logical lights, not physical. * So for example, if your INDICATOR light is in line with your * BUTTONS, it might make sense to also light the INDICATOR * light to a reaso
2010-12-15 14:12:00 2337
转载 【转帖】U-boot给kernel传参数和kernel读取参数—struct tag (以及补充)
文章来自:http://blog.chinaunix.net/u3/90973/showart_1925725.htmlU-boot 会给 Linux Kernel 传递很多参数,如:串口, RAM , videofb 等。而 Linux kernel 也会读取和处理这些参数。两者之间通过 struct tag 来传递参数。 U-boot 把要传递给 kernel 的东西保存在 struct tag 数据结构中,启动 kernel 时,把这个结构体的物理地址传给 kernel ; Linux kernel
2010-12-14 15:07:00 1539
原创 Android Sensor 适配层的书写--主要是对函数的介绍
Sensor 适配层的书写-----大家多讨论前文说了,适配层的基本的接口。现在将接口中的内容扩展说下,其实在sensors.h文件中已经说的很明确了,这里只不过是怕自己有遗忘翻译了一下。/** * Every device data structure must
2010-12-10 16:23:00 2740 1
原创 Android的传感器HAL层的书写---基础篇
<br /><br />关于传感器,大家在日常的生活中用的很多。比如楼宇的楼梯灯,马路上的路灯等等。那么我们手机里的传感器又可以起到哪些作用呢?现在看下我们的Android中给提供了哪些吧。有加速度传感器,磁场,方向,陀螺仪,光线,压力,温度,接近传感器。<br /> <br />-----------------------------------文件分布------------------------------------------------------------<br />其中的代码的分布如下
2010-11-10 17:22:00 8127 4
原创 Linux下的SVN使用---命令行控的最爱
<br /><br />1、Linux命令行下将文件checkout到本地目录<br /> svn checkout path(path是服务器上的目录)<br /> svn checkout <br /> <br /> <br />2、Linux命令行下往版本库中添加新的文件<br /> svn add file<br /> 例如:svn add test.php(添加test.php)<br /> <br /> <br />3、Linux命令行下将改动的文件提交到版本库<br /> svn
2010-10-11 15:47:00 1062
转载 bus,device,driver三者关系
<br />bus,device,driver三者关系<br /><br />bus:<br />总线作为主机和外设的连接通道,有些总线是比较规范的,形成了很多协议。如PCI,USB,1394,IIC等。任何设备都可以选择合适的总线连接到主机。当然主机也可能就是CPU本身。内存也是通过BUS连接到主机的,可内存使用的总线不是外设总线,因此和内存使用相同类型的总线的设备,谈及BUS比较含糊。<br />一块网卡在嵌入式开发中,直接通过内存总线接入到CPU。我们在写网卡驱动时,要给该BUS定
2010-08-24 17:01:00 683
转载 引导加载程序之争:了解 LILO 和 GRUB
引导加载程序之争:了解 LILO 和 GRUB<br />对照并比较这两个竞争对手<br /><br />级别: 初级<br />Laurence Bonney (bonneyl@uk.ibm.com), WebSphere MQ JMS Test Team Lead, IBM<br />2005 年 9 月 20 日从普通的桌面用户到 Linux® 系统管理员,大部分 Linux 用户都使用过一种名为引导加载程序的工具。此类工具的不同变种会提供不同层次的支持和功能。在很多情
2010-07-23 15:23:00 652
转载 转自 Linux大棚《find技巧》
<br />1. 想查看当前文件夹及子文件夹里有没有文件名为“abc”的文件<br /># find . -name abc<br />. :表示当前目录<br />-name:表示要根据名称查找<br />2. 想查看当前文件夹及子文件夹里有没有”xyz”目录<br /># find . -type d -name xyz<br />-type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件)、l(链接文件)<br />3. 想找出当前文件夹及子文件夹里所有后缀是”.txt”的文件<br
2010-07-20 10:39:00 1015 1
原创 Linux版Flashget
下载地址如下:http://bbs.flashget.com/viewthread.php?tid=18519&extra= 在 Ubuntu10.04下测试OK$tar zxvf wxFlashget-1.0.tar.gz $sudo make install $cd /usr/lib $sudo ln -s /lib/libexpat.so.1.5.2 libexpat.so.0 $sudo ldconfig$ wxFlashget然后
2010-07-07 10:58:00 1451
转载 关于UI设计你需要自问的10个问题
锐商企业CMS 写道 "UI 设计的魅力在于,你不仅需要适当的技巧,更要理解用户与程序的关系。一个有效的用户界面关注的是用户目标的实现,包括视觉元素与功能操作在内的所有东西都需要完整一致。为了实现这个目标,你需要问自己 10 个最基本的问题(完整图文版)。 1. 你的 UI 是否高度一致?<br /><br />用户来到你的站点,脑子里会保持着一种思维习惯,你的 UI 需要保持一致,以免用户的思维方向被打乱。比如,如果你的某个品目下的产品可以拖放到购物车,那你
2010-07-05 10:21:00 668
转载 g33k 专用:使用 Mutt Email 客户端管理你的 Gmail
<br /><br />你是终端爱好者+键盘控吗?如果可以在上图这种界面中使用 Gmail,你会不会兴奋异常呢?<br />上图即是 mutt 这款基于文本界面的 Email 客户端程序,下面我们来简单介绍一下如何安装并设置用 mutt 收发 Gmail 邮件。<br />安装 mutt:<br />如果你使用的是 Ubuntu 操作系统的话,apt 是最简单的方法:<br />sudo apt-get install mutt<br />如果你是水果用户,那么你最好使用第三方的软件包管理程序, Mac
2010-07-01 14:36:00 2938
stm32f429 discovery source code for linux 2.6
2020-11-10
python实现的串口工具
2020-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人