- 博客(17)
- 资源 (18)
- 收藏
- 关注
转载 Linux音频编程1
Linux音频编程1虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架。一、数字音频音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才
2012-04-28 14:26:38 631
转载 ubuntu 安装source insight-完美使用
相信很多朋友在Windows下都 习惯用Source Insight来阅读分析源代码了,对于LINUX下面的工具,确实有比较高效的,配置起来起对比较麻烦,也比较繁琐,相信很多人肯定希望能在Linux下面也能用到Source Insight,今天我就把我Ubuntu10.04上使用Source Insight的方法与大家分享! 这是我的系统信息:Linux gavin-
2012-04-23 11:26:02 2259
转载 二维码
什么是条码技术? 条形码,简称“条码”,是由一组黑白相间、宽度不同的条状符号组成。 条码技术是研究如何把计算机所需要的数据表示成条码形式,和如何将条码表示的数据和符号转变为计算机可以自动采集、识别的数据。因而,条码技术就包括从编码到制作、识读、处理等一系列技术。 根据不同的编码规则,提出的编码方案已经有多达四十余种,目前应用最为广泛的有:交叉二五码、三九码、UPC码、EAN码、1
2012-04-18 14:52:24 1112
转载 C指针和内存泄漏
引言对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项。指针和内存泄漏对某些开发人员来说似乎令人畏惧,但是一旦您了解了指针及其关联内存操作的基础,它们就是您在 C 语言中拥有的最强大工具。本文将与您分享开发人员在开始使用指针来编程前应该知道的秘密。本文内容包括:导致内存破
2012-04-13 17:19:48 646
转载 内核定时器的使用(好几个例子add_timer)
LINUX内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于 和 kernel/timer.c 文件中。被调度的函数肯定是异步执行的,它类似于一种“软件中断”,而且是处于非进程的上下文中,所以调度函数必须遵守以下规则:1) 没有 current 指针、不允许访问用户空间。因为没有进程上下文,相关代码和被中断的进程没有任何联系。2)
2012-04-11 14:43:26 21929
转载 Linux驱动程序开发009 - 使用内核内存
序言我们在编写用户空间程序的时候经常需要动态或静态(如静态数组)的使用系统内存资源,同样在内核空间也有类似的操作,但内核空间的操作要远比用户空间复杂的多,这一章就对如何在驱动程序中使用内存做个系统的介绍。对于一个32位的系统来说,可访问的内存地址空间是4G。Linux系统将这4G的地址空间划分为两部分,以x86为例,0-3G (0 - PAGE_OFFSET, 0xC0000000)是
2012-04-11 14:36:14 668
转载 Linux驱动程序开发007 - 设备驱动模型初探
序言从这一章开始,我们将详细的介绍Linux的设备驱动模型。Linux设备驱动模型是一个相当复杂的系统,对于初学者来说真有些无从入手。而且更加困难的是,随着新的Linux Kernel的release,Linux的设备驱动模型总会有或大或小的变化,我们将尽量展现 Linux Kernel 的这种变化。早期的Linux内核(版本2.4之前)并没有实现一个统一的设备模型,设备节点的
2012-04-10 10:06:17 545
转载 Linux驱动程序开发 006- 内核同步技术
序言在前面,我们介绍了常用两种内核同步技术:自旋锁和信号量。这里我们接着介绍其他的内核同步技术。内核同步技术前面我们提到,信号量是基于原子操作的,它的信号初始值count是一个原子类型,下面我们就对它做详细的介绍,同时我们还会讲解其他的内核同步技术。原子操作原子操作是内核中比较低级的同步操作接口,它保证指令以“原子”的方式执行而不能被打断。内核中提供了两种原子操作接口,
2012-04-10 09:35:11 551
转载 Linux驱动程序开发 005- 内核同步技术
序言就像我们在操作系统里学习的那样,如果多个程序(进程或线程)同时访问临界区数据就会发生竞争。存在竞争条件的程序会产生不可预料的结果。消除竞争的方法一般就是同步的访问临界区数据(原子访问)。Linux内核提供了多种技术用来实现内核同步操作。下面我们就分别介绍。内核同步技术Linux内核是多进程、多线程的操作系统,它提供了相当完整的内核同步方法。作为一个总结,我们先列出内核同步方
2012-04-10 09:34:17 551
转载 Linux驱动程序开发005 - 内核同步技术
序言就像我们在操作系统里学习的那样,如果多个程序(进程或线程)同时访问临界区数据就会发生竞争。存在竞争条件的程序会产生不可预料的结果。消除竞争的方法一般就是同步的访问临界区数据(原子访问)。Linux内核提供了多种技术用来实现内核同步操作。下面我们就分别介绍。内核同步技术Linux内核是多进程、多线程的操作系统,它提供了相当完整的内核同步方法。作为一个总结,我们先列出内核同步方法列
2012-04-10 09:27:11 519
转载 Linux驱动程序开发 004- 字符设备驱动
序言Linux下的大部分驱动程序都是字符设备驱动程序,在这一章我们就扩展我们的“Hello World”程序来支持用户应用程序的读写操作。我们也会了解到字符设备是如何注册到系统中的,应用程序是如何访问驱动程序的数据的,及字符驱动程序是如何工作的。设备号通过前面的学习我们知道应用程序是通过设备节点来访问驱动程序及设备的,其根本是通过设备节点的设备号(主设备号及从设备号)来关联驱动
2012-04-10 09:18:58 456
转载 Linux驱动程序开发 003- 设备与驱动的关系
序言前面两章我们了解了Linux驱动程序的基本框架,也了解了如何编译Linux的驱动程序。接下来我们有必要介绍Linux系统的设备了,这样我们才能清楚的知道应用程序和设备驱动程序是如何的工作的,或者说应用程序是如何控制驱动程序的,进而知道应用程序是如何通过驱动程序操作设备的。Linux设备分类Linux下的设备通常分为三类,字符设备,块设备和网络设备。字符设备一
2012-04-10 09:18:01 522
转载 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 501
转载 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 491
转载 Linux驱动程序开发001 - 驱动程序基本框架
前言不管是Windows还是Linux,驱动程序都扮演着重要的角色。应用程序只能通过驱动程序才能同硬件设备或系统内核通讯。Linux内核对不同的系统定义了标准的接口(API),应用程序就是通过这些标准的接口来操作内核和硬件。驱动可以被编译的内核中(build-in),也可以做为内核模块(Module)存在于内核的外面,需要的时候动态插入到内核中运行。就像你学习操作系统概念时所了解的那样,L
2012-04-10 08:47:02 652
转载 移植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 647
转载 关于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 755
arm2440内存管理网页资料汇总
2011-03-25
arm电源管理(一 二 三)
2011-03-25
51存储类型与存储区
2009-08-30
单片机C语言编程经典
2009-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人