自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

转载 Cadence Allegro/Orcad 电路板方案全系列完美破解的特别说明(包括64位系统破解方法) .

1.不要试图破解Orcad16.3的Demo版(官方下载的),会出错。这个版本就是测试用的。其他版本或者16.2就都可以破解了。2.在安装过程中,务必填写一个license位置,不填直接cancel安装完会无法使用。3.原说明有少许错误,注意在破解第5步时,要把环境变量CDS_LIC_FILE指向破解包提供的license所摆放的路径。你放在哪,就指向那;不一定是说明中所写

2013-01-24 16:14:01 982

转载 android 开发板入手三天总结

前天从客户那借了一个FriendlyARM的tiny210开发板,开始琢磨。一上来就发现telnet和ftp没有。shell也巨难用。android自己带的这个 busybox 巨难用。从2440开发板直接拷贝过来一个。把2440开发板上的 busybox 和 ftpd 直接拷贝到 /home/me/ 下面。给 busybox 做符号链接 sh、telnetd、ifconf

2012-12-20 09:20:14 482

转载 在android上运行C程序

网络上能找到在liunx下使用arm的gnu编译器进行交叉编译能生成在Android的shell中运行的C程序。但是说明了一点就是必须使用-static进行静态编译,而静态编译则就无法调用动态库了。    其实不然,因为Linux系统的程序在调用动态库的时候有个首先需要访问的动态库就是ld-linux.so这个库,由这个库去访问你自己定义的动态库,然后Android上没有这个库,所以无法调

2012-12-05 15:08:02 524

转载 和菜鸟一起学OK6410之交叉编译hello world .

看着大三买来的那块arm11(OK6410),又要开始冲动一把了,记得过年回来的时候,在ubuntu下搭建过OK6410的开发环境,不过不小心把ubuntu系统给卸载了,那软件还装了好多好多的,各种设置,悲剧的孩子。郁闷着,于是装了linux的虚拟机。还是跟新系统啊,安装软件啊,终于搞定了。        好了,既然已经搞定了虚拟机,交叉编译工具啊,内核啊都放进去了,就写个简单的hello w

2012-12-05 15:06:05 412

转载 一线触摸tslib移植完全说明 .

我已经上传了完善好的源代码,已经加入对一线触摸的支持,如果想直接使用,不用自己加补丁:请到http://code.google.com/p/openwrt-for-embedded/,点击Download页面,下载tslib-one-wire.tar.bz2。但是建议你把下面的内容看完,以便使用这个已经加入对一线触摸支持的tslib。一开始接触时,感觉友善的触摸屏好奇怪啊,和一

2012-12-05 15:04:52 614

转载 编译移植android 2.3到tiny210 .

原创作品,转载请注明原作者及地址!by 飞鸿惊雪这两天玩android,做个小结吧。避免麻烦,直接从nfs启动,下面是我常用的几个参数。1 从nfs启动android (tiny210自带的android根文件系统,使用自己稍加修改编译好的tiny210自带kernel,自己编译的uboot启动)。使用下面的bootargs:[cpp] vi

2012-12-05 14:58:36 661

转载 Android 根文件系统启动过程

Android 根文件系统启动过程。在Android系统启动时,内核引导参数上一般都会设置“init=/init”, 这样的话,如果内核成功挂载了这个文件系统之后,首先运行的就是这个根目录下的init程序。这个程序所了什么呢? 我们只有RFSC(Read the Fucking Source code)!!init程序源码在Android官方源码的system/core/init中,m

2012-12-05 14:55:11 433

转载 Android 上,用普通的 am-linux-gcc 编译 C 程序。 .

让 Android  的 libc, 和标准的 libc 共存, 让两种不同链接方式的 C  程序一起运行。以前总有人说 C 程序在 Andriod 上只能静态链接, 其实不是, Andriod C是可以用 Andriod 提供的工具链编译成动态链接的。如果用其他 arm gcc, 就只能编译成静态的。但是,但是但是。。。。 我今天看到 动态链接的了,而且不是用 Andriod

2012-12-05 14:51:48 348

转载 Android 编译 C 库 .

标准的做法是 把 src 放到  /android/develop/ 目录下去,然后建立 Android.mk 文件,然后 make modue ...., 但是,这种方式 太麻烦。 下面介绍一种方法,可以比较快速的编译 C 库,和上一篇中一样,首先要设置自己的环境变量:  cat setenv.shexport PATH=$PATH:/android/myandr

2012-12-05 14:50:49 336

转载 Android C/C++ 开发. .

Android 不支持 C/C++ 开发? 虚拟机以上的程序是 JAVA开发,但是底层可以用 C/C++ 跑一些 后台 程序啊, 大不了用 soket 通信嘛.  计划在 rootfs  里存放一套自己的 busybox, 自己的 Bash, 自己的 command 等,command 完全可以做成静态的, Android 里的 shell 实在太难用了。用 Android.m

2012-12-05 14:49:42 390

转载 Android下运行c程序

在android的设计中,谷歌设计了一套专门为嵌入式设备使用的bionic C库,以替换原有的GUN Libc,这个精简的bionic库据说只有200多K,所以如果只想使用这个精简的C库像在linux下一样 开发C程序,基本是不可能的。当然如果只想让其在shell中运行还是可以做到的。因为编译完的目标程序是在android下运行,就要使用交叉编译的工具,在下面地址下载:http://www

2012-12-05 14:43:31 310

转载 在驱动模块初始化函数中实现设备节点的自动创建

我们在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。内核中定义了struct class结构体,顾名思义,一个struct class结构体类型变量对应一个类,内核同时提供了cla

2012-10-15 09:13:57 345

转载 udev解析

一、什么是udev? 这篇文章UDEV Primer给我们娓娓道来,花点时间预习一下是值得的。当然,不知道udev是什么也没关系,把它当个助记符好了,有了下面的上路指南,可以节省很多时间。我们只需要树立一个信念:udev很简单! 嵌入式的udev应用尤其简单。 第二、为什么udev要取代devfs? 这是生产关系适应生产力的需要,udev好,devfs坏,用好的

2012-10-11 14:00:26 369

转载 platform总线设备驱动开发流程

从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device和 Platform_driver 。      Linux中大部分的设备驱动,都可以使用这套机制 , 设备用 Platform_device表示,驱动用 Platform_driver 进行注册。      Linux platform driver机制和传统的 dev

2012-10-11 10:17:00 653

原创 platform总线驱动添加大体框架

最近在做tiny210的四线触摸屏的驱动,用到了platform虚拟总线的驱动,期间参考了不少的网上资料,学到了不少。下面将自己的工作过程做一个简单的总结,方便以后自己用,同时也希望能给别人带来帮助。platform总线介绍: platform总线、设备与驱动:在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找

2012-10-11 10:09:16 550

转载 Linux内核源码分析--内核启动命令行的传递过程(Linux-3.0 ARMv7)

Linux内核在启动的时候需要一些参数,以获得当前硬件的信息或者启动所需资源在内存中的位置等等。这些信息可以通过bootloader传递给内核,比较常见的就是cmdline。以前我在启动内核的时候习惯性的通过uboot传递一个cmdline给内核,没有具体的分析这个过程。最近在分析内核启动过程的时候,重新看了一下内核启动参数的传递过程,彻底解决一下在这方面的疑惑。一、bootl

2012-10-08 16:26:48 582

转载 linux内核启动内核解压过程分析

内核编译完成后会生成zImage内核镜像文件。关于bootloader加载zImage到内核,并且跳转到zImage开始地址运行zImage的过程,相信大家都很容易理解。但对于zImage是如何解压的过程,就不是那么好理解了。本文将结合部分关键代码,讲解zImage的解压过程。  先看看zImage的组成吧。在内核编译完成后会在arch/arm/boot/下生成zImage在arch/ar

2012-10-08 16:23:54 1058

转载 SecureCRT下的串口不能输入

用串口配置交换机的时候,出现的问题:用secureCRT建了一个串口COM1后,连接上开发板后,可以正确接受和显示串口的输出,但是按键输入无效。解决方法:Session Options -> Connection -> Serial -> Flow Control,将原先默认选中的 RTS/CTS取消掉,再重新connect开发板,再次连上后,此时就可以从键盘输入了。 网上解析

2012-10-08 09:57:25 593

转载 TSLib ported to Android for touchscreen calibration. (转) [复制链接]

Since Android doesn't provide a calibration tool, tslib can be used to calibrate the touchscreen . The values obtained from ts_calibrate in pointercal file can be used in android frameworks/services

2012-09-20 16:49:48 1159

转载 Android系统移植 之 touch

Android系统移植 之 touch     Android自身不带触摸屏校验APP,我们一般都是采用tslib来完成触摸屏校验,网上的相关文章也不少,在此我记录下我的移植过程。1.准备工作     首先我们要下载tslib的源码,以前在做QT时直接下载tslib源码,网上盛传的也很多,所以很容易下载,但是在此,我并非用的是tslib,而是tslibonandroid,到底与ts

2012-09-20 16:42:25 554

转载 Android中Input型输入设备驱动原理分析<二>

驱动层只是把输入设备注册到输入子系统中,驱动层的代码本身是没有创建设备节点的,而是由EventHander层调用InputCore中的函数来实现,当某个事件触发时都将通过input _event()来将input event传送到input.c中,再由input.c分配事件到每一个"input handler"2)input _event()是怎么实现的void input_event(s

2012-09-19 08:19:20 652

转载 Android中Input型输入设备驱动原理分析<一>

Android中Input型输入设备驱动原理分析 话说Android中Event输入设备驱动原理分析还不如说Linux输入子系统呢,反正这个是没变的,在android的底层开发中对于Linux的基本驱动程序设计还是没变的,当然Android底层机制也增加几个属于android自己的机制。典型的IPCAndroid中的input设备驱动主要包括:游戏杆(joystick)、鼠标(

2012-09-18 17:08:58 706

转载 移植ads7846驱动到tiny6410(tiny6410)(ads7846)(移植)(触摸屏)(抖动)

目前,市面上很多6410开发板都存在触摸屏抖动的问题,tiny6410也不例外,友善的解决方法是采用一线触摸,即在LCD板上,用一个单片机控制ADS7846芯片AD转换,再将数据通过单总线的方式与6410通讯。可是,我这里没有一线触摸板,于是就开始移植ADS7846驱动到tiny6410。介绍: 可能有人会问,6410的触摸屏为什么会抖动呢,是不是滤波没做好,或者是硬件走线的原因

2012-09-10 16:29:51 1101

转载 6410触摸屏驱动分析(s3c-ts.c)(Linux)(分析)

介绍:直接上源码吧,完全注释: /* linux/drivers/input/touchscreen/s3c-ts.c * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public Licens

2012-09-10 16:24:59 681

转载 platform_driver_register(struct platform_driver *drv)注册后如何找到驱动匹配的设备

platform_driver_register(struct platform_driver *drv)注册后如何找到驱动匹配的设备struct platform_driver {        int (*probe)(struct platform_device *);        int (*remove)(struct platform_device *);

2012-09-05 13:54:12 372

转载 platform_device与驱动的联系

首先你需要为SOC的各个功能部分定义他的一些资源.例如可用于访问的寄存器地址.中断号,DMA什么的。然后将这些资源(resource) 作为 platform 的dev .通过platform_add_devices函数将你定义的paltform_device变量注册到系统的dev里面.。或者你可以象我这样将你需要的驱动添加:static struct platform_device *smd

2012-09-05 13:53:03 264

转载 关于设备模型、设备与驱动关联的全过程分析

本文的大多数内容参考了:对于网络上设备与驱动关联的全过程分析(I2C方式)一文。在此特别感谢这位作者前辈的无私奉献。 本人只是添加了一些个人理解和补充。          在Linux操作系统中,驱动程序的加载分为两种:内核启动时自动加载和用户手动加载;硬件设备也可以采用两种方式添加到系统中:在系统启动前及系统运行时的热插拨。下面,我们以arm体系结构下的at91处理器中的I2C控制器为例,介

2012-09-05 13:51:14 361

转载 linux驱动头文件说明(转载)

http://hi.baidu.com/%BB%F0%D0%C7%C6%B0%B3%E6911/blog/item/3c01cb8c3c5bccab0f244491.html驱动程序: #include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。

2012-09-05 09:40:05 410

空空如也

空空如也

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

TA关注的人

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