自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (8)
  • 收藏
  • 关注

原创 调试休眠和唤醒

调试休眠和唤醒在做Android或者是Linux的调试中,在消费电子领域中对用电的要求比较的严格,所以大家对设备的休眠比较关注。一定要在系统发起休眠命令的时候要进入,这里来看下平时可以采取什么方式来调试。1、no_console_suspend 在kernel启动参数里面加上no_console_suspend,这个是最基本的,因为kernel在把console sus

2012-08-27 21:45:45 10003 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 5305

原创 android leds简单代码总结

linux leds 【源码:linux-3.2-rc7】关于led,前两天被问道一个问题,这里顺便总结下吧。 led,对于我们所有的人来说这是一个比较简单的模块,当然也是学习时比较好入口的一个模块。分析驱动,都了解先看Makefile &Kconfig# LED Coreobj-$(CONFIG_NEW_LEDS)

2012-05-07 20:52:13 4327 7

原创 Linux 固件子系统----如何更新固件

在一般的使用中,可能会需要使用到升级固件这个功能,在linux的系统中提供了固件子系统这个设备模型来帮助快速的升级固件。在这里先将linux中提供的常用的接口来说明下:内核的固件接口:#include int request_firmware(const struct firmware **firmware_p, const char *name,

2012-04-19 21:35:45 15493 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 14633 2

原创 内核映像启动时基本概念介绍

内核1、压缩和非压缩内核映像非压缩内核映像是真正的Linux内核代码。压缩内核映像是把非压缩内核映像作为数据进行压缩打包,并加入了解压缩代码。也就是说,他是一个自解压的可执行映像。压缩内核映像执行时,先解压内部包含的数据块(即非压缩内核映像),再去执行非压缩内核映像。非压缩内核映像由make Image命令产生。其生成过程是:(1)内核的各个模块经过编译,链

2011-11-01 21:43:05 3297

原创 makefile参数说明

通常我们需要看看自己的编写的makefile是否有错误,命令是否正确,执行顺序是否使我们期望的方式,这里就需要使用makefile的参数。-n--just-print--dry-run--recon不执行参数,这些参数只是打印命令,不管目标是否更新,把规则和连带规则的命令打印出来,但不执行。-t--touch这个参数的意思就是把目标文件的时间更新,但

2011-11-01 21:39:06 10679

原创 Makefile中使用的函数

Makefile中使用的函数在学习有哪些函数之前,现在先看看如何使用,语法是怎么样的。如下:$()或是${}这里,function是函数名,make支持的函数不多。arguments是函数的参数,参数间以逗号“,”分隔,函数名和参数之间以“空格”分隔。函数调用以“$”开头,用圆括号或者是花括号括起。语法就是这些,起始是要注意格式要求,现在开始makefile中的函数

2011-11-01 21:37:24 2753

原创 shell中引号的使用

在我们shell脚本中,通常会使用引号,但是使用的引号到底有哪些区别呢? 单引号目的: 为了保护文字不被转换.除了他本身. 就是说除去单引号外, 在单引号内的所有文字都是原样输出.双引号目的: 为了包含文字或者函数段. 除了本身,反引号内的函数,$开头的变量和\开头反转换的字符外, 其余都是直接输出.反单引号函数转换. 但单引号内其无作用.比如a=`da

2011-11-01 21:34:20 2139

原创 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 14607

原创 VIM 卡片,常用的命令

2011-09-07 21:10:41 3218

原创 printk如何定向输出到UART的?

我们通常在config里面配置这么一句“CONFIG_CMDLINE="console=tty0 console=ttyMT3,921600n1 root=/dev/ram"”,然后修改console的赋值就可以改变输出的位置,代码中如何实现的呢?这里紧接着上文中的pri

2011-09-06 21:40:27 4719

原创 走读printk代码

走读printk代码在我们书写内核代码的时候通常会使用printk,这里我们看下printk是如何和uart关联起来的。关于uart的相关的硬件知识不介绍了,so easy。我们这里只是走读下printk的代码,看看和uart的驱动的关联。printk--

2011-09-06 19:32:35 4664

原创 Android 让adb logcat打印内核调试信息

Android让adb logcat打印内核调试信息在默认情况下,adb logcat只能显示应用程序的调试信息,我把logcat.cpp修改了一下,让它同时可以打印内核调试信息:修改的文件:system/core/logcat/logcat.cpp1、首

2011-08-30 21:52:01 5552 1

原创 基于V4L2的视频驱动开发

基于V4L2的视频驱动开发编写基于V4L2视频驱动主要涉及到以下几个知识点:●摄像头方面的知识要了解选用的摄像头的特性,包括访问控制方法、各种参数的配置方法、信号输出类型等。●Camera解码器、控制器如果摄像头是模拟量输出的,要熟悉解码器的配置。最后数字视频

2011-08-25 21:00:30 4349 1

原创 Linux调试中使用的proc和sys中的接口

在调试的过程中我们通常需要去不停的修改寄存器的值来调试效果,在现在发现有两个手段,分别利用的proc和sysproc--|      |-----read_proc      |-----write_proc      sys---|      |----

2011-08-02 22:13:00 3798 4

原创 LCD驱动中常识问题

1、常见的视频格式分辨率QQCIF Quarter QCIF                      88*72 QCIF面积的1/4SQCIF Sub Quarter CIF                      128*96 QCIF Qua

2011-08-02 21:43:33 2688

原创 内核中并发所所采取的措施

多线程执行的时候会出现并发的问题,处理不好,多线程会出现数据处理的错误。SMP(对称多处理器)和内核抢占是多线程执行的两个场景。我们提出要保护共享内核资源的问题,下面有内核中常用的方式。1、自旋锁和互斥体   首先先了解临界区的概念,临界区是访问共享资源的代码

2011-07-05 21:45:40 2571

原创 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 17983 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 3216

原创 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 54529 15

转载 使用 inotify 监控文件系统的活动

系统管理就像日常生活一样。就像刷牙和吃蔬菜一样,日常的维护能保持机器的良好状态。您必须定期清空废物,比如临时文件或无用的日志文件,以及花时间填写表单、回复电话、下载更新和监控进程等。幸好自动化 shell 脚本、使用 Nagios 等工具进行监控、通过常见的 cron 进行任务调度可以减轻这个负担。但奇怪的是,这些工具没有一个具有响应性。当然,您可以安排一个频繁运行的 cron 任务来监控条件,但这样繁忙的轮询 — 消耗大量资源并且具有不确定性 — 并不是很理想。例如,如果您必须监控输入数据的几个 Tran

2011-05-16 13:31:00 1321

原创 arm Linux系统启动之----reset_init,系统1号进程

<br />先来看下一些基础概念<br />内核线程(thread)或叫守护进程(daemon),在操作系统中占据相当大的比例,当Linux操作系统启动以后,<br />尤其是Xwindow也启动以后,你可以用”ps”命令查看系统中的进程,这时会发现很多以”d”结尾的进程名,这些进程就是内核线程。<br />内核线程也可以叫内核任务,它们周期性地执行,例如,磁盘高速缓存的刷新,网络连接的维护,页面的换入换出等等。在Linux中,内核线程与普通进程有一些本质的区别,从以下几个方面可以看出二者之间的差异:<br

2011-05-12 20:51:00 3959

原创 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 5571

转载 Shell中if的相关参数

<br /><br />由于自己不是经常使用shell,所以有时候命令经常容易忘,这里把其中的一个if的参数给保存下吧。<br /> <br />-----------------------------华丽的分割线之下是转贴内容-------------------------------------------------------------<br /> <br />[ -a FILE ]  如果 FILE 存在则为真。  <br />[ -b FILE ]  如果 FILE 存在且是一个块特殊文件

2011-04-06 16:14:00 684

原创 【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 2476 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 1594 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 3081 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 11342 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 2314

转载 【转帖】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 1520

原创 Android Sensor 适配层的书写--主要是对函数的介绍

Sensor 适配层的书写-----大家多讨论前文说了,适配层的基本的接口。现在将接口中的内容扩展说下,其实在sensors.h文件中已经说的很明确了,这里只不过是怕自己有遗忘翻译了一下。/** * Every device data structure must

2010-12-10 16:23:00 2699 1

原创 Android的传感器HAL层的书写---基础篇

<br /><br />关于传感器,大家在日常的生活中用的很多。比如楼宇的楼梯灯,马路上的路灯等等。那么我们手机里的传感器又可以起到哪些作用呢?现在看下我们的Android中给提供了哪些吧。有加速度传感器,磁场,方向,陀螺仪,光线,压力,温度,接近传感器。<br /> <br />-----------------------------------文件分布------------------------------------------------------------<br />其中的代码的分布如下

2010-11-10 17:22:00 8111 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 1047

转载 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 671

转载 引导加载程序之争:了解 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 640

转载 转自 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 1008 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 1437

转载 关于UI设计你需要自问的10个问题

锐商企业CMS 写道 "UI 设计的魅力在于,你不仅需要适当的技巧,更要理解用户与程序的关系。一个有效的用户界面关注的是用户目标的实现,包括视觉元素与功能操作在内的所有东西都需要完整一致。为了实现这个目标,你需要问自己 10 个最基本的问题(完整图文版)。 1. 你的 UI 是否高度一致?<br /><br />用户来到你的站点,脑子里会保持着一种思维习惯,你的 UI 需要保持一致,以免用户的思维方向被打乱。比如,如果你的某个品目下的产品可以拖放到购物车,那你

2010-07-05 10:21:00 658

转载 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 2857

stm32f429 discovery source code for linux 2.6

对应discovery开发板的2.6的内核源码,下载后可以针对当前的开发版完整开发。默认支持了网口驱动,方便tftp的开发和调试。

2020-11-10

python实现的串口工具

使用python实现的串口工具,依赖python3.8 + pyqt5 + yaml 资源分够请资源下载,资源分不够,可以下载源码https://github.com/FlyerChao/pytools/tree/master/pycom

2020-09-02

VIM card 常用命令的图片

可以打印到A4纸上,贴到常用的地方,多熟悉些常用的VIM相关的命令

2011-09-07

rdp文件中密码的生成

在rdp文件中有一行密码说明,利用这个文件可以生成所需要的密码。

2011-06-02

LPC23xx/24xx程序

Description of the LPC23xx/24xx Example Software Packagea.

2008-10-10

小软件合集

在此文件中包含了4个串口工具,一个串口监听工具,一个取字模工具,波形数据产生器,还有一个不错的单片机工具集

2008-06-06

USB规范

压缩包中包含了USB1.1和USB2.0规范,希望对你有用。(英文版)

2008-05-25

ARM嵌入式系统综述.pdf

一本基础的介绍ARM开发的书籍

2008-05-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除