自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (3)
  • 收藏
  • 关注

转载 深入浅出 - Android系统移植与平台开发(五)- 编译Android源码

2.3编译Android源码Android源码体积非常庞大,由Dalvik虚拟机、Linux内核、编译系统、框架代码、Android定制C库、测试套件、系统应用程序等部分组成,在编译Android源码之前,必须要先掌握Android源码的组成。2.3.1Android源码目录结构在Android源码中,按照不同功能代码被放在不同的目录下:目录

2016-06-30 17:27:24 1323

转载 深入浅出 - Android系统移植与平台开发(四)- 搭建Linux编译环境

Android的源码开发可以在MacOS上或Ubuntu系统上,目前不支持在Windows下进行源码开发,在Ubuntu上建立开发环境的步骤如下:建立Linux编译环境安装JDK安装编译必备程序包下载Android源码及Linux内核注:本书中使用的是针对Android2.3开发环境,并没有使用最新Android版本,原因其一是,Android版本升级比较频繁,其二

2016-06-30 17:03:01 477

转载 深入浅出 - Android系统移植与平台开发(三)- 配置Vmware网络

2.1.3 VMware网络配置VMware软件的强大之处在于它能够保证虚拟机和宿主机平等并列运行,并且让二者进行网络通信,而我们在开发Android系统应用时会使用到网络,将来做Android系统移植时更需要网络的支持,因此VMware的网络配置对开发者非常重要。Ø  宿主机网络接口:在安装完VMware软件后,在宿主机的网络连接里自动创建了三个虚拟网卡:VMnet0、V

2016-06-30 16:59:39 563

转载 深入浅出 - Android系统移植与平台开发(一)

写在前面的  这是我最近两年的Android开发的经验总结,断断续续的写了几个月了,欢迎大家砖头,有不对的地方,或需要改进的地方,请指出来,先贴出来目录来看看。第一章、     概述... 51.1            Android 操作系统介绍.... 51.2            Android软件架构介绍.... 61.3            

2016-06-30 16:30:03 1590

转载 深入浅出 - Android系统移植与平台开发(十一)- Android系统的定制

4.3定制Android平台系统通常产品厂商在拿到Android源码后会在Android源码基础上进行定制修改,以匹配适应自己的产品,从本节开始,我们从最原始的Android源码系统里一步一步定制出自己的Android系统。本节主要内容包含:根据Android源码,添加新产品编译项,定制系统启动界面和文字,定制系统启动动画和声音,定制系统桌面。4.3.1 添加新产品编译项A

2016-06-30 15:23:02 1035

转载 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]第四章Android编译系统与定制Android平台系统1Android编译系统11 Android编译系统介绍12 Androidmk文件13实验编译HelloWorld应用程序第四章、Android编译系统与定制Android平台系统 4.1And

2016-06-30 15:21:16 332

转载 深入浅出:Linux设备驱动之字符设备驱动

原文出处: 时光漫步LH   一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和

2016-06-29 15:54:48 235

转载 深入浅出:Linux设备驱动之中断与定时器

原文出处: 时光漫步LH   “我叮咛你的 你说 不会遗忘 你告诉我的 我也全部珍藏 对于我们来说 记忆是飘不落的日子 永远不会发黄 相聚的时候 总是很短 期待的时候 总是很长 岁月的溪水边 捡拾起多少闪亮的诗行 如果你要想念我 就望一望天上那 闪烁的繁星 有我寻觅你的 目光” 谢谢你,曾经来过~中断与定时器是我们再熟悉不过的问题了,我们在进行裸机开发学习的 时候,这几乎就是重难点,也

2016-06-29 15:40:36 3884

转载 基于OK6410的串口数据收发

***************************   *基于OK6410的串口程序   *2012.12.4   *孙旭   ***************************/    #include  #include  #include  #include  #include  #include  #include  #inclu

2016-06-29 15:09:11 326

转载 深入浅出:Linux设备驱动之异步通知和异步I/O

原文出处: 时光漫步LH   在设备驱动中使用异步通知可以使得对设备的访问可进行时,由驱动主动通知应用程序进行访问。因此,使用无阻塞I/O的应用程序无需轮询设备是否可访问,而阻塞访问也可以被类似“中断”的异步通知所取代。异步通知类似于硬件上的“中断”概念,比较准确的称谓是“信号驱动的异步I/O”。1、异步通知的概念和作用影响:阻塞–应用程序无需轮询设备是否可以访问非

2016-06-29 15:07:03 3499

转载 深入浅出:Linux设备驱动中的阻塞和非阻塞I/O

今天写的是Linux设备驱动中的阻塞和非阻塞I/0,何谓阻塞与非阻塞I/O?简单来说就是对I/O操作的两种不同的方式,驱动程序可以灵活的支持用户空间对设备的这两种访问方式。一、基本概念:阻塞操作 : 是指在执行设备操作时,若不能获得资源,则挂起进程直到满足操作条件后再进行操作。被挂起的进程进入休眠, 被从调度器移走,直到条件满足。非阻塞操作 :在不能进行设备操作时,并不挂起,它或者

2016-06-29 14:22:51 397

转载 OK6410的单个按键驱动程序(Linux),测试通过

#include   #include#include#include#include #include //#include#include#include#include#include#include#include #include#include#include#include#include#inc

2016-06-29 11:27:57 493

转载 OK6410的6个按键驱动程序(Linux),测试通过

如果你的飞凌Linux-3.0.1内核源码没有编译过,编译时可能会出现:scripts/basic/fixdep: 1: scripts/basic/fixdep: ELF: not foundscripts/basic/fixdep: 2: scripts/basic/fixdep: Syntax error: "(" unexpected这时要先到Linux-3.0.1目

2016-06-29 11:22:57 777

转载 S3C6410按键驱动

S3C6410按键驱动——查询方式实现OK6410总共有6个按键,按键分别接在GPN0~GPN5,原理图上根本没有这么说,原理图上说的是KEYINT!~KEYINT6,很明显这里是接在中断引脚上的,直接查询S3C6410的中断引脚就可以知道这个6个按键的接法,一下是用查询方法实现的按键驱动:[cpp] view plaincopy

2016-06-29 11:03:40 443

转载 Linux下实现U盘、SD卡自动挂载功能

在 Linux中我们经常用到U盘、SD卡的挂载问题,每次都手动挂载或卸载非常麻烦,我们可以采取以下方法实现自动挂载或卸载U盘、SD卡1、首先在/etc/init.d/rsC中加入以下语句echo /sbin/mdev > /proc/sys/kernel/hotplug2、在/etc/下简历medv.conf的文件,包含以下内容sd[a-z][0-9

2016-06-29 10:34:29 442

转载 linux等待队列wait_queue_head_t和wait_queue_t

等待队列在linux内核中有着举足轻重的作用,很多linux驱动都或多或少涉及到了等待队列。因此,对于linux内核及驱动开发者来说,掌握等待队列是必须课之一。 Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。它有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。等待队列头和等待

2016-06-29 10:28:34 381

转载 SIM300实现GPRS上网

1.首先得让内核支持PPP,进入Linux 内核目录(kernel-2.6 或 以上内核版本),执行 #make menuconfig添加如下内核选项:Device Drivers ---> Network device support ---> PPP (point-to-point protocol) support[*]   PPP multilink sup

2016-06-28 15:24:51 390

转载 LINUX和PC之间通过串口传文件

转自:http://www.360doc.com/content/090528/23/150654_3691341.html 从PC机下载东西到开发板的嵌入式linux系统里面,首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。 下面介绍一下lsz/lrz的使用

2016-06-28 14:47:38 734

转载 利用Makefile单独编译驱动模块文件

Makefile文件如下:KERNELDIR = /home/wenhao/platform/linux-2.6.34PWD := $(shell pwd)CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-linux-CC  = $(CROSS_COMPILE)gcc

2016-06-28 14:45:54 757

转载 如何在嵌入式LINUX中添加ARM开机图片?

如何在嵌入式LINUX中添加ARM开机图片?1、如果要让系统启动起来看到 bootlogo小企鹅,必须得在 make menuconfig 中进行配置添加,如下      Device Drivers ---> Graphics support ---> Bootup logo下面可以全部选中支持2、打开gimp号称 linux 下的 photoshop ,安装windows版(gim

2016-06-28 14:44:40 324

转载 Linux 2.6.19.x 内核编译配置选项简介

版权声明本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档,但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明。其他作品本文作者十分愿意与他人共享劳动成果,如果你对我的其他翻

2016-06-28 14:17:04 806

转载 ARM Linux.2.6.34内核移植

ARM-LINUX-GCC版本4.3.2.以安装在/usr/local/arm/4.3.2下.第一步:修改linux-2.6.34/Makefile文件,在makefile中找到以下两条信息并做修改ARCH ? =arm  CROSS_COMPILE ?=/usr/local/arm/4.3.2/bin/arm-linux-第二步:修改平台输入时钟修改平台的时钟

2016-06-28 14:15:12 180

转载 基于S3C2410平台移植Linux 2.6内核指南

安装交叉编译工具Ø        下载交叉编译工具(本文默认所有软件均下载在用户主目录下)arm-linux-gcc-3.4.1 —— 编译内核URL: ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2Ø        安装       //将压缩包移动至根目录下       #

2016-06-28 13:54:36 762

转载 Linux设备模型(热插拔、mdev 与 firmware)

热插拔有 2 个不同角度来看待热插拔:   从内核角度看,热插拔是在硬件、内核和内核驱动之间的交互。   从用户角度看,热插拔是内核和用户空间之间,通过调用用户空间程序(如hotplug、udev 和 mdev)的交互。 当需要通知用户内核发生了某种热插拔事件时,内核才调用这个用户空间程序。现在的计算机系统,要求 Linux 内核能够在硬件从系统中增删时,可靠稳定地运行。这就对设备

2016-06-28 12:26:43 378

转载 关于linux模块驱动简单的Makefile

( 转)嵌入式Linux驱动开发笔记Linux驱动一般以模块module的形式来加载,首先需要把驱动编译成模块的形式。简单的例子,Begin of hello.c file #include linux/init.h> #include linux/kernel.h> #include linux/module.h>

2016-06-28 11:44:26 234

转载 Makefile中预定义变量

预定义变量  含义  $*  不包含扩展名的目标文件名称。  $+  所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。  $  第一个依赖文件的名称。  $?  所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。  $@  目标的完整名称。  $^  所有的依赖文件,以空格分开,不包含重复的依赖文件。

2016-06-28 11:39:54 347

转载 关于构造IOCTL命令的学习心得

在编写ioctl代码之前,需要选择对应不同命令的编号。为了防止对错误的设备使用正确的命令,命令号应该在系统范围内唯一,这种错误匹配并不是不会发生,程序可能发现自己正在试图对FIFO和audio等这类非串行设备输入流修改波特率,如果每一个ioctl命令都是唯一的,应用程序进行这种操作时就会得到一个EINVAL错误,而不是无意间成功地完成了意想不到的操作。   要按Linux内核的约定方法为驱

2016-06-28 11:36:54 266

转载 Linux2.6内核驱动移植变化参考

1、 使用新的入口 必须包含  module_init(your_init_func); module_exit(your_exit_func); 老版本:int init_module(void); void cleanup_module(voi); 2.4中两种都可以用,对如后面的入口函数不必要显示包含任何头文件。2、 GPL MODULE_LICENSE(

2016-06-28 11:09:52 290

转载 class_create(),device_create自动创建设备文件结点

从linux 内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。相比devfs,udev有很多优势,在此就不罗嗦了,提醒一 点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用 class_device_c

2016-06-28 09:43:32 474

转载 U-Boot启动过程完全分析

1.1       U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:       (1)第一阶段的功能Ø  硬件设备初始化Ø  加载U-Boot第二阶段代码到RAM空间Ø  设置好栈Ø  跳转到第二阶段代码入口       (2)第二阶段的功能Ø  初始化本阶段使用的硬件设备Ø  检测系统内存映射Ø  将内核从Fla

2016-06-24 17:28:35 348

转载 U-Boot编译过程完全分析

2.1       U-Boot Makefile分析2.1.1             U-Boot编译命令       对于mini2440开发板,编译U-Boot需要执行如下的命令:$  make  mini2440_config$  make  all       使用上面的命令编译U-Boot,编译生成的所有文件都保存在源代码目录中。为了保持源代码目录的干净,可以使用

2016-06-24 17:26:41 1529

转载 U-boot中TFTP 解释

一、      概述      U-boot中的TFTP用于发送较小的文件。下层使用UDP协议,发送使用UDP 69端口,每次发送的最大分组为512 Bytes。发送双方采用超时重传机制。数据传输模式为octet模式( 二进制模式 )。    在U-boot中使用tftp功能可以使用如下命令:            tftp  MemoryAddress  FileNa

2016-06-24 17:24:52 473

转载 U-Boot添加命令的方法及U-Boot命令执行过程

(一)U-Boot启动过程--详细版的完全分析  分类: U_boot知识和移植 2011-10-29 09:42 664人阅读 评论(0) 收藏 举报    ------------------------------------------------------------------------------------------------------------------

2016-06-24 17:16:56 3634

转载 uboot 分析及移植

本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:1、u-boot工程的总体结构2、u-boot的流程、主要的数据结构、内存分配。3、u-boot的重要细节,主要分析流程中各函数的功能。4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下

2016-06-23 17:32:59 445

转载 u-boot的Makefile分析

U-BOOT是一个LINUX下的工程,在编译之前必须已经安装对应体系结构的交叉编译环境,这里只针对ARM,编译器系列软件为arm-linux-*。U-BOOT的下载地址: http://sourceforge.net/projects/u-boot我下载的是1.1.6版本,一开始在FTP上下载了一个次新版,结果编译失败。1.1.6是没问题的。u-boot源码结构    解压就可

2016-06-23 16:25:11 273

转载 Uboot中start.S源码的指令级的详尽解析

第 3 章 相关知识点详解目录3.1. 如何查看C或汇编的源代码所对应的真正的汇编代码3.2. uboot初始化中,为何要设置CPU为SVC模式而不是设置为其他模式3.3. 什么是watchdog + 为何在要系统初始化的时候关闭watchdog3.3.1. 什么是watchdog3.3.2. 为何在要系统初始化的时候关闭watchdog3.4.

2016-06-23 14:36:53 2340

转载 Uboot中start.S源码的指令级的详尽解析(二)

第 2 章 start.S的总结目录2.1. start.S各个部分的总结2.2. Uboot中的内存的Layout摘要2.1. start.S各个部分的总结其实关于start.S这个汇编文件,主要做的事情就是系统的各个方面的初始化。关于每个部分,上面具体的代码实现,也都一行行的解释过了,此处不再赘述。

2016-06-23 14:36:00 965

转载 Uboot中start.S源码的指令级的详尽解析(一)

目录正文之前1. 本文内容2. 本文目标3. 代码来源4. 阅读此文所要具有的前提知识5. 声明1. start.S详解1.1. 设置CPU模式1.1.1. globl1.1.2. _start1.1.3. ldr1.1.4. .word1.1.5. .balignl1.1.6. _TEXT_BASE _armboot_start

2016-06-23 14:34:31 1670

转载 android4.0.3 修改启动动画和开机声音

1. Linux 系统启动,出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片);2. Android平台启动初始化,出现"A N D R I O D"文字字样画面;3. Android平台图形系统启动,出现含闪动的ANDROID字样的动画图片(start)。现在我们说的是第三种方式(基于模拟器):android开机动画叫源码位于fr

2016-06-23 11:42:53 418

转载 Ecplise导入工程报Cannot import *** because the project name is in use问题

Ecplise导入工程时,报如下错误:原因在于工程中有相同的工程名,导入报上面的错误,解决办法:打开工程目录下面的.project文件修改TestProjectcom.Android.ide.eclipse.adt.ResourceManagerBuildercom.android.ide.eclipse.adt.

2016-06-21 10:19:22 4920

16位CRC校验原理与算法分析

16位CRC校验原理与算法分析,供使用参考

2014-04-21

单片机外围电路设计PDF电子书

单片机外围电路设计包括基本的基础单片机外围电路设计,还有高级的电路设计

2009-06-20

空空如也

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

TA关注的人

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