自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (18)
  • 收藏
  • 关注

转载 2416 spi

参考资料:6410手册/2416手册 Kernel部分驱动代码作者:agan联系邮箱 beswipe@yahoo.com.cnracer.blog.chinaunix.net转载须注明出处!    SPI接口简述  SPI是 Serial Peripheral Interface(串型外部接口)的缩写。SPI接口有4根PIN脚,分别是:

2012-11-15 17:18:22 1449

转载 三星U-Boot-1.1.6源码分析

最近在看uboot的源码,做些笔记。lowlevel_init.S (board\samsung\smdk6410)这个文件主要是与板级配置相关的代码,看他在那个目录就知道了。不多说了,开始看源码。1、#include #include #include #include "smdk6410_val.h"_

2012-06-19 08:41:36 1005

转载 窥视Linux内核的行为的一些方法

想了解Linux内核的行为,需要一定的偷窥经验,大致可以分为以下几个:1.使用printk直接在内核代码或者模块代码的你想偷窥的地方printk一些信息。这种方式需要你会编译内核代码以及编译内核模块,以及将其正确安装进内核并启动之。虽然需要这么多知识,然而这种方式是比较土的。除非万不得已,一定有比这更加简单的方法。2.查看dmesg这种方式取决于内核会输出哪些信息。dm

2012-06-19 08:36:31 563

转载 Linux 内核中的 cdev_alloc和cdev_add

Linux内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {struct kobject kobj;          // 每个 cdev 都是一个 kobjectstruct module *owner;       // 指

2012-06-19 08:35:05 2024

转载 Make menuconfig 详解

make menuconfig 图形化的内核配置make mrproper -----删除不必要的文件和目录.1  #make config(基于文本的最为传统的配置界面,不推荐使用)2  #make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)注意:使用make menuconfig 需要安装ncurses( sudo apt-get install

2012-06-19 08:33:44 2803

转载 linux内核对S3C2410睡眠模式的支持

linux内核对S3C2410睡眠模式的支持作者:刘洪涛,华清远见嵌入式学院高级讲师,ARM ATC授权培训讲师。一、S3C2410支持4种供电模式(1)NORMAL MODE耗电最大、可以通过关闭具体控制器的时钟来节电(2)SLOW MODE在此模式下可以没有内部PLL,耗电情况依赖于外部时钟的频率(3)IDLE MODEFCLK被关断,主要由于CPU core节

2012-06-05 09:13:44 601

转载 bootloader启动图示

2012-05-23 17:28:51 553

转载 Linux中mmap系统调用原理分析与实现

1、 驱动描述       驱动程序由struct device_driver 描述 :struct device_driver {const char *name; /*驱动程序的名字( 体现在 sysfs 中 )*/struct bus_type *bus; /*驱动程序所在的总线*/struct module*owner

2012-05-23 17:12:33 676

转载 Linux设备驱动模型

kobject原理与实例分析1、Sysfs文件系统"sysfsis a ram-based filesystem initially based on ramfs. It provides ameans to export kernel data structures, their attributes, and thelinkages between them to us

2012-05-23 17:08:35 652

转载 linux驱动修炼之道-混杂设备

Linux驱动中把无法归类的五花八门的设备定义为混杂设备(用miscdevice结构体表述)。miscdevice共享一个主设备号MISC_MAJOR(即10),但次设备号不同。 所有的miscdevice设备形成了一个链表,对设备访问时内核根据次设备号查找对应的miscdevice设备,然后调用其file_operations结构中注册的文件操作接口进行操作。 在内核中用struct miscd

2012-05-23 17:00:42 592

转载 Linux音频编程1

Linux音频编程1虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架。一、数字音频音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才

2012-04-28 14:26:38 637

转载 ubuntu 安装source insight-完美使用

相信很多朋友在Windows下都 习惯用Source Insight来阅读分析源代码了,对于LINUX下面的工具,确实有比较高效的,配置起来起对比较麻烦,也比较繁琐,相信很多人肯定希望能在Linux下面也能用到Source Insight,今天我就把我Ubuntu10.04上使用Source Insight的方法与大家分享!      这是我的系统信息:Linux gavin-

2012-04-23 11:26:02 2309

转载 二维码

什么是条码技术?  条形码,简称“条码”,是由一组黑白相间、宽度不同的条状符号组成。  条码技术是研究如何把计算机所需要的数据表示成条码形式,和如何将条码表示的数据和符号转变为计算机可以自动采集、识别的数据。因而,条码技术就包括从编码到制作、识读、处理等一系列技术。  根据不同的编码规则,提出的编码方案已经有多达四十余种,目前应用最为广泛的有:交叉二五码、三九码、UPC码、EAN码、1

2012-04-18 14:52:24 1139

转载 C指针和内存泄漏

引言对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项。指针和内存泄漏对某些开发人员来说似乎令人畏惧,但是一旦您了解了指针及其关联内存操作的基础,它们就是您在 C 语言中拥有的最强大工具。本文将与您分享开发人员在开始使用指针来编程前应该知道的秘密。本文内容包括:导致内存破

2012-04-13 17:19:48 651

转载 内核定时器的使用(好几个例子add_timer)

LINUX内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于 和 kernel/timer.c 文件中。被调度的函数肯定是异步执行的,它类似于一种“软件中断”,而且是处于非进程的上下文中,所以调度函数必须遵守以下规则:1) 没有 current 指针、不允许访问用户空间。因为没有进程上下文,相关代码和被中断的进程没有任何联系。2)

2012-04-11 14:43:26 22044

转载 Linux驱动程序开发009 - 使用内核内存

序言我们在编写用户空间程序的时候经常需要动态或静态(如静态数组)的使用系统内存资源,同样在内核空间也有类似的操作,但内核空间的操作要远比用户空间复杂的多,这一章就对如何在驱动程序中使用内存做个系统的介绍。对于一个32位的系统来说,可访问的内存地址空间是4G。Linux系统将这4G的地址空间划分为两部分,以x86为例,0-3G (0 - PAGE_OFFSET, 0xC0000000)是

2012-04-11 14:36:14 673

转载 Linux驱动程序开发007 - 设备驱动模型初探

序言从这一章开始,我们将详细的介绍Linux的设备驱动模型。Linux设备驱动模型是一个相当复杂的系统,对于初学者来说真有些无从入手。而且更加困难的是,随着新的Linux Kernel的release,Linux的设备驱动模型总会有或大或小的变化,我们将尽量展现 Linux Kernel 的这种变化。早期的Linux内核(版本2.4之前)并没有实现一个统一的设备模型,设备节点的

2012-04-10 10:06:17 553

转载 Linux驱动程序开发 006- 内核同步技术

序言在前面,我们介绍了常用两种内核同步技术:自旋锁和信号量。这里我们接着介绍其他的内核同步技术。内核同步技术前面我们提到,信号量是基于原子操作的,它的信号初始值count是一个原子类型,下面我们就对它做详细的介绍,同时我们还会讲解其他的内核同步技术。原子操作原子操作是内核中比较低级的同步操作接口,它保证指令以“原子”的方式执行而不能被打断。内核中提供了两种原子操作接口,

2012-04-10 09:35:11 556

转载 Linux驱动程序开发 005- 内核同步技术

序言就像我们在操作系统里学习的那样,如果多个程序(进程或线程)同时访问临界区数据就会发生竞争。存在竞争条件的程序会产生不可预料的结果。消除竞争的方法一般就是同步的访问临界区数据(原子访问)。Linux内核提供了多种技术用来实现内核同步操作。下面我们就分别介绍。内核同步技术Linux内核是多进程、多线程的操作系统,它提供了相当完整的内核同步方法。作为一个总结,我们先列出内核同步方

2012-04-10 09:34:17 561

转载 Linux驱动程序开发005 - 内核同步技术

序言就像我们在操作系统里学习的那样,如果多个程序(进程或线程)同时访问临界区数据就会发生竞争。存在竞争条件的程序会产生不可预料的结果。消除竞争的方法一般就是同步的访问临界区数据(原子访问)。Linux内核提供了多种技术用来实现内核同步操作。下面我们就分别介绍。内核同步技术Linux内核是多进程、多线程的操作系统,它提供了相当完整的内核同步方法。作为一个总结,我们先列出内核同步方法列

2012-04-10 09:27:11 539

转载 Linux驱动程序开发 004- 字符设备驱动

序言Linux下的大部分驱动程序都是字符设备驱动程序,在这一章我们就扩展我们的“Hello World”程序来支持用户应用程序的读写操作。我们也会了解到字符设备是如何注册到系统中的,应用程序是如何访问驱动程序的数据的,及字符驱动程序是如何工作的。设备号通过前面的学习我们知道应用程序是通过设备节点来访问驱动程序及设备的,其根本是通过设备节点的设备号(主设备号及从设备号)来关联驱动

2012-04-10 09:18:58 463

转载 Linux驱动程序开发 003- 设备与驱动的关系

序言前面两章我们了解了Linux驱动程序的基本框架,也了解了如何编译Linux的驱动程序。接下来我们有必要介绍Linux系统的设备了,这样我们才能清楚的知道应用程序和设备驱动程序是如何的工作的,或者说应用程序是如何控制驱动程序的,进而知道应用程序是如何通过驱动程序操作设备的。Linux设备分类Linux下的设备通常分为三类,字符设备,块设备和网络设备。字符设备一

2012-04-10 09:18:01 528

转载 Linux驱动程序开发002 - Kbuild系统

序言从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这同过去的编译系统有很大的不同,尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的Makefile,然后根据读到的内容第二次读取Kbuild的Makefile来编译Linux内核。Linux内核Makefile分类

2012-04-10 09:17:10 507

转载 Linux驱动程序开发 002- Kbuild系统

序言从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这同过去的编译系统有很大的不同,尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的Makefile,然后根据读到的内容第二次读取Kbuild的Makefile来编译Linux内核。Linux内核Makefile分类

2012-04-10 08:55:49 500

转载 Linux驱动程序开发001 - 驱动程序基本框架

前言不管是Windows还是Linux,驱动程序都扮演着重要的角色。应用程序只能通过驱动程序才能同硬件设备或系统内核通讯。Linux内核对不同的系统定义了标准的接口(API),应用程序就是通过这些标准的接口来操作内核和硬件。驱动可以被编译的内核中(build-in),也可以做为内核模块(Module)存在于内核的外面,需要的时候动态插入到内核中运行。就像你学习操作系统概念时所了解的那样,L

2012-04-10 08:47:02 656

转载 移植Linux-2.6.30.4到mini2440

移植Linux-2.6.30.4到mini2440移植Linux-2.6.30.4到mini2440一、安装交叉编译器1)交叉编译器使用CodeSourcery提供的符合EABI标准的arm-none-linux-gnueabi-gcc-4.3.3交叉编译器,下载地址:http://www.codesourcery.com/sgpp/lite/arm/porta

2012-04-09 10:24:29 655

转载 关于SIGSEGV错误及处理方法

关于SIGSEGV错误及处理方法  今天编程遇到了SIGSEGV错误,比较困惑,所以找了些资料,总结一下:(1)官方说法是: SIGSEGV --- Segment Fault. The possible cases of your encountering this error are: 1.buffer overflow --

2012-04-06 08:34:08 803

转载 深入理解ARM体系架构(S3C6410)---PWM实例

深入理解ARM体系架构(S3C6410)---PWM实例分类: 嵌入式arm篇2012-03-24 12:30 2088人阅读 评论(3) 收藏 举报本系列文章由muge0913编写,转载请注明出处:http://blog.csdn.net/muge0913/article/details/7389801作者:张同浩,邮箱:muge0913@sina.com

2012-03-31 08:33:08 836

转载 自旋锁

在初级驱动的我们介绍了几种同步方式,有同学对自旋锁有些不理解,现在把这部分内容详细的讲述一下。自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。信号量和读写信号

2012-03-30 09:42:01 492

转载 tmux使用教程

使用tmuxtmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;当然其功能远不止于此。安装可以使用Ports安装tmux,位置在/usr/ports/sysutils/tmux

2012-03-23 09:21:11 5486

转载 tmux

在上一节linux下远程管理利器-ssh>>中,笔者有提到:上一节所讲的功能都是参照linux远程管理的屠龙刀>>里的功能来讲的.笔者想收回这句话,因为有替SecureCRT打广告之嫌.其实吧,这些功能无论我们使用哪种软件都是会遇到的问题.我们都要在那个软件上解决这些问题,只是碰巧上次是在使用SecureCRT的时候遇到的罢了.在使用无论哪种软件远程管理linux的时候,我们总会遇到一个靠那个软件

2012-03-23 09:07:23 1645

转载 SDIO WiFi模块分析

S3C6410硬件模块分析 -- SDIO WiFi模块分析 (2011-05-04 17:42)分类: 底层开发Andrew Huang  转载请注明作者及网址.  手头的上课s3c6410开发板,带了SDIO接口的WiFi模块,但是没有Linux下的驱动,因此在上网络驱动时课参考s3c2440的实现试着分析和调试一下SDIO的WiFi驱动。

2012-03-21 15:44:26 7541

转载 sprintf

sprintf() 格式化输出函数(图形)功能: 函数sprintf()用来作格式化的输出。用法: 此函数调用方式为int sprintf(char *string,char *format,arg_list);说 明: 函数sprintf()的用法和printf()函数一样,只是sprintf()函数给出第一个参数string(一般为字符数组),然后再调用 outtextxy()函数

2012-03-19 19:33:48 534

转载 Git介绍及其使用

Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅  Git是什么  G

2012-03-08 15:21:22 634

转载 MINI6410移植攻略

转载请注明出处:http://blog.csdn.net/muge0913/article/details/7083052一、mini6410移植全攻略(1)--uboot移植之搭建开发环境二、mini6410移植全攻略(2)--uboot移植之搭建项目框架三、mini6410移植全攻略(3)--uboot移植之支持nand flan

2012-03-08 12:34:32 606

转载 linux信号处理

转载请注明出处:http://blog.csdn.net/muge0913/article/details/7317621信号处理是linux程序的一个特色。用信号处理来模拟操作系统的中断功能。要想使用信号处理功能,你要做的就是填写一个信号处理函数即可。[cpp] view plaincopyprint?

2012-03-08 12:27:04 447

转载 linux-进程

转载请注明出处:http://blog.csdn.net/muge0913/article/details/7315522 如果我们把计算机上的操作系统及各种各样的软件看成一系列的有机生命,而不是指令集,那么这就是一个进程的世界,在进程的世界中同样有“道德”和“法制法规”,窥探进程世界,看它的侠肝义胆,风雨江湖路~~~~~  linux支持多个进程同时进行,

2012-03-08 12:23:45 430

转载 linux-内存映像

转载请注明出处:http://blog.csdn.net/muge0913/article/details/7315197内存映像其实就是在内存中创建一个和外存文件完全相同的映像。用户可以将整个文件映射到内存中也可以部分映射到内存。系统会将对内存映像的改动如实的反映到外存文件中。从而实现了通过内存映像对外存文件的操作。 内存映像的特点:1、 可以加快对I

2012-03-08 12:20:38 1765

转载 linux-锁定内存

转载请注明出处:http://blog.csdn.net/muge0913/article/details/7314854Linux 实现了请求页面调度,页面调度是说页面从硬盘按需交换进来,当不再需要的时候交换出去。这样做允许系统中每个进程的虚拟地址空间和实际物理内存的总量再没有直接的联系,因为在硬盘上的交换空间能给进程一个物理内存几乎无限大的错觉。交换对进程来说是

2012-03-08 12:19:20 3695

转载 动态内存

转载请注明出处:http://blog.csdn.net/muge0913/article/details/7314130使用动态内存时需要用户自己去申请资源和释放资源。用户可以随时的分配所需空间,根据需要分配空间大小,并在最后释放申请内存。动态内存也存在隐患:在大型的项目当中管理申请的动态内存是很复杂的,以及释放申请的内存有难想起的。在释放动态内存时可能不止一个指

2012-03-08 12:18:08 501

字符转换成浮点型

字符转换成浮点型

2012-02-21

TUIOService-Signed.apk

TUIOService-Signed.apk

2011-08-10

arm-linux开发环境搭建

arm-linux开发环境搭建 献给即将进入嵌入式的菜鸟们 我也是从什么都不懂过来的,很理解得到一手好资料有多么重要。

2011-03-25

arm2440内存管理网页资料汇总

下到的同学们偷着乐吧,里面讲了 arm2440内存映射的分析 内存地址空间的分布,逻辑地址、线性地址和物理地址 等等 这是我学mini2440 收获的 分享给你们

2011-03-25

arm电源管理(一 二 三)

由于arm系统中没有bios设备, 所以只能为arm系统创建一个虚拟的字符设备与用户空间进行通讯. 这就是/arch/arm/kernel/amp.c 分 一 二 三 都在里面

2011-03-25

嵌入式linux驱动理论

这是N位大师的总结,用示例来教你理论,很简洁易懂。 学习驱动这么多天了,我看了这个对一些不解的概念和思想有了更清楚的理解

2011-03-25

怎么向linux内核加载驱动?

刚开始学的时候我也不知道怎么能,在网上看了好多步骤,编译完都不正确。 为了让初学者方面,特此共享!

2011-03-25

linux-2.6.35内核的编译和配置

这是华清远见的上课的练习手册,学习linux嵌入式的童鞋值得一看。

2011-03-25

Ubuntu 10.10 tftp 和 NFS 的配置手册

学习嵌入式的同学没很有用啊,尤其是刚刚入门的童鞋。有它你的开发环境的建立会很简单,为您节省时间哦

2011-03-25

组策略的实际应用.doc

记得上学的时候,老师用组策略,完成了很多我们觉得很奇妙的功能。现在才知道看看文档谁都会。 很实用

2011-03-25

玩转static关键字

详细讲解了static的应用,这是亚嵌教育的讲义,很实用的。

2011-03-25

linux c 一站式学习

学习linux c的好资料,里面讲的很详细,大家可以当作教材用。

2010-11-02

<<电动机的单片机控制>>很经典的单片机电机控制

电动机的单片机控制 这是关于电机的单片机控制的书籍教程,里面的方法很经典的.看看吧

2009-08-31

制作语音的标本时用的语音软件

你写什么它读什么,在竞赛时做语音标本室可以用到的哦,不用自己录音了

2009-08-31

51存储类型与存储区

一般说来应用51系列的系统架构的内部ram资源都很紧张,最好大家 在定义函数内部或程序段内部的局部变量使用内ram,而尽量不要把全局变量声明为内ram区中。所以对于全局指针变量我建议使用第 3 种情况,而对于局部的指针变量使用第2种方式。

2009-08-30

单片机C语言编程经典

本文档包括单片机系统中常用到的时钟中断、通讯及键盘扫描等模块(见所附源程序)的说明。这些模块使用前后台系统模型。为达到最大的灵活性, 需要在用户工程中定义config.h文件, 在其中定义各模块可选参数的设置,而不是直接更改源代码。 这些可选内容大部分为宏定义,如果不定义宏相应的功能在编译时被屏蔽,不会增加代码长度。 具体可选内容见各模块中的说明。 在Config.h文件中还要包含一个单片机硬件的资源头文件。

2009-08-30

nfr2401 tongxin

wuxiantongxin shuanggongmoshi send.c receive.c

2009-08-29

空空如也

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

TA关注的人

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