自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 资源 (6)
  • 收藏
  • 关注

转载 安装tslib中遇到的错误:./autogen.sh: 4: autoreconf: not found

./autogen.sh: 4: autoreconf: not found是在不同版本的 tslib 下执行 autogen.sh 产生。它们产生的原因一样,是因为没有安装automake 工具, (ubuntu 8.04)用下面的命令安装好就可以了。sudo apt-get install autoconf automake libtool

2014-04-18 14:12:31 686

原创 U-boot常用命令

说明:只供学习交流 一,环境变量相关命令(1):printenv或print:打印环境变量。可以打印全部环境变量,也可以打印列出的环境变量。例如:print 打印全部环境变量,print ipaddr 只打印ip。 (2):setenv或 set:设置环境变量。用法:setenv name value setenv name ,比如:添加环境变量file并设置为1,

2013-07-22 18:20:31 857

原创 u-boot简介

说明:只供学习交流 一,uboot简介Uboot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序,uboot不仅支持嵌入式Linux系统的引导,当前还支持NetBSD,VxWorks, QNX,RTEMS,ARTOS,LynxOS嵌入式操作系统。Uboot除了支持PowerPC系列的处理器外,还能支持MIPS,X86,ARM,NIOS,XScale等诸多常用系

2013-07-22 18:18:07 975

原创 交叉编译工具链的安装与使用

说明:只供学习交流 一,交叉编译工具链的概念在嵌入式开发过程中,有宿主机和目标机之分。宿主机:宿主机是执行编译、链接嵌入式软件的计算机。目标机:目标机是运行嵌入式软件的硬件平台。而在宿主机上进行预处理、编译、汇编、链接等工作的一系列工具称为交叉编译工具链。  二,安装交叉编译工具链(1):将压缩包解压到根目录,使用命令tar –zxf arm-linux

2013-07-21 08:34:24 3609 1

原创 Bootloader简介

说明:只供学习交流 一,Bootloader的概念系统上电之后,需要一段程序来进行初始化。比如:关闭WATCHDOG、改变系统时钟、初始化存储器控制器、将更多的代码复制到内存中等。如果它能将操作系统内核复制到内存中运行,无论从本地(比如Flash)还是从远端(比如通过网络),就称这段程序为Bootloader。简单地说,Bootloader就是那么一小段程序,它在系统上电时开始执行,,

2013-07-19 09:19:17 1446 1

原创 内核模块开发基础

说明:只供学习交流 一,什么是内核模块Linux内核的整体结构非常庞大,其包含的组件也非常多,如何使用需要的组件呢:方法一:把所有的组件都编译进内核文件,即:zImage或bzImage,但这样会导致两个问题:一是生成的内核文件过大;二是如果要添加或删除某个组件,需要重新编译整个内核。 有没有一种机制能让内核文件(zImage或bzImage)本身并不包含某组件,而是在该组

2013-07-18 09:39:06 1687 1

原创 grub配置文件grub.conf详细说明

说明:只供学习交流   default行,是指grub启动时默认菜单项。0表示第一项,如果是多系统可以修改此选项改变默认光标停留位置。 timeout行,是指菜单到自动启动系统前的停留时间,单位时间为sec,可以按需分配。 splashimage行,指定启动菜单的背景图标,图片格式应该是xpm图像。 hiddenmenu行,用于启动时隐藏菜单,除非在ti

2013-07-16 14:10:41 3867 2

原创 Linux内核的配置与编译(X86平台)

说明:只供学习交流  目的:(1):配置、编译X86平台下的Linux-2.6.29内核(2):在vmware下安装编译好的内核并启动 工具:Gcc编译器, Linux-2.6.29内核 步骤:(一):清除临时文件,中间文件和配置文件等(刚从网上下载下来的文件这步可省略)。makeclean删除大多数的由编译生成的文件、但会保留内核的配置文件.c

2013-07-14 21:14:05 1231

原创 Linux内核源代码

说明:只供学习交流 一,目录结构Linux内核源代码采用树形结构进行组织,非常合理地把功能相关的文件都放在同一个子目录下,使得程序更具有可读性。 二,目录结构 arch目录arch是architecture的缩写。内核所支持的每种CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,

2013-07-13 19:02:30 948

原创 Linux内核简介

说明:只供学习交流 一,Linux体系结构如果有人问你,Linux系统是如何构成的?只要把下面这幅图说给他听,就OK 从图上我们可以知道,Linux系统是由用户空间和内核空间两部分组成,之所以将Linux系统划分为用户空间和内核空间很大一部分原因是为了安全着想。Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G。Linu

2013-07-13 17:17:32 1565 1

转载 信号系统与数字信号处理一点点心得

为什么要进行傅里叶变换,为什么要讲线性时不变系统为什么h(t)就能表征一个系统什么是因果系统跟h(t)有什么联系,为什么有联系什么是稳定系统跟h(t)有什么联系,为什么有联系什么是滤波器拉普拉斯变换又是怎么回事拉普拉是的零极点图为什么能分析系统的特性(Z变换的同样)Z变换到底是想干什么这些变换在实际中怎么应用的(最困惑的)相位到底是什么?序列的傅里叶变换

2013-06-22 16:00:31 8830

转载 Dev C++中的错误的解决[Linker error] undefined reference to `__cpu_features_init' -chu

原文链接:http://hi.baidu.com/dannie007zxl/item/75c4f728ac448381af48f53d 解决NOIP环境GUIDE和Dev之间的并存问题。装上了NOIP的测试环境GUIDE后,想再用之前的Dev c++的编译器的时候,发现编译的时候出现问题,无法找到编译连接的库。错误信息如下:[Linker error] undefined

2013-06-16 21:35:28 2955

原创 Qt程序开发方法和流程

说明:只供学习交流,转载请注明出处 一,开发方法在开发Qt4应用程序时,有几种常见的做法。1.全部采用手写代码,在命令行下完成编译和运行这种方式是最基础、最基本的,使用它的感觉有点像练武术时的扎马步,一招一式非常清楚。它最锻炼开发者的技能,因为每一步都不能含糊,开发者需要对编译系统、Qt基础知识有着非常扎实的了解。笔者熟知的许多的Qt编程的“老鸟”中,很多人都青睐这种方式。它的

2013-06-16 16:09:07 4785

原创 windows编程基础

说明:只供学习交流,转载请注明出处 windows编程基础(1):API与SDK我们在编写标准C程序的时候,经常会调用各种库函数来辅助完成某些功能:初学者使用得最多的库函数就是printf了,这些库函数是由你所使用的编译器厂商所提供的。在Windows平台下,也有类似的函数可供调用。不同的是,这些函数是由Windows操作系统本身提供的。Windows操作系统提供了各种各样的函数,

2013-06-10 13:47:01 1154

转载 qt3和qt4并存问题的解决方法

原文链接:http://blog.chinaunix.net/uid-8038341-id-179303.html qt3和qt4并存问题的解决方法这段时间出于学习目的,在ubuntu下同时安装了qt3和qt4。但是在编译qt4文件的时候出现问题,总是提示找到不某些文件,例如:错误: qt4/QApplication:No such file or dire

2013-06-09 09:23:37 932

转载 安装Qt-x11开发工具

原文链接:http://blog.csdn.net/DaySummer/article/details/1547999  看到有同仁对Qt-x11的安装有些疑惑,现整理了一下,供参考。如有不妥之处,请批评指正。安装步骤如下:1. 下载开发工具包:   qt-x11-opensource-src-4.2.3.tar.gz2. 解压安装包: [c-s

2013-06-07 21:32:33 945

原创 使用select实现网络的多路IO复用

说明:只供学习交流,转载请注明出处 使用套接字实现通信的实例中,服务器端在调用recv函数或recvfrom函数接收客户端发送来的消息或在调用accept函数时,都将处于阻塞状态。当进程处于阻塞状态时,程序将停止运行,这将限制程序的处理能力和功能。Linux系统提供了fcntl函数来实现将套接字端口设置为非阻塞状态的功能,使用该函数设置套接字为非阻塞的代码如下:……sock =

2013-06-02 17:02:17 2147 1

原创 网络编程--UDP

说明:只供学习交流,转载请注明出处 面向连接的套接字使用的通信协议是TCP。TCP协议可以保证信息的可靠传输,但是在建立连接前需要进行3次握手过程。网络通信在很多时候只是传输很少的数据,并且对数据传输的可靠性没有很高的要求,在这种情况下,可以使用UDP协议。UDP协议是无连接的数据通信协议。由于UDP协议没有建立连接的过程,UDP协议通信效率要高于TCP协议。 一,工作流程无连

2013-06-02 16:59:06 807 1

原创 网络编程--TCP

说明:只供学习交流,转载请注明出处  一,工作流程使用流套接字实现网络中不同主机间的通信属于典型的服务器/客户机模型,即客服端向服务器发送服务请求,服务器根据该请求提供相应的服务。为了实现服务器与客户机间的通信,服务器和客户机都必须创建套接字。服务器在创建套接字后,需要指定监听的端口来等待客户机,因此还有绑定端口号的操作。之后,服务器处于监听状态,等待客户机来连接指定端口。当接

2013-06-02 16:53:38 999

原创 网络编程基础

说明:只供学习交流,转载请注明出处  一,套接字编程基础套接字,英文为socket,是一种双向的通信端口。位于网络中的主机通过连接的套接字提供的接口进行数据传输。套接字是一种使用标准UNIX文件描述符(file descriptor)与其他程序通信的方式。套接字可以看作是处于不同主机之间的两个程序的通信连接端点。一方面程序将要传输的信息写入套接字中,而另一方面则通过读取套接

2013-05-31 19:33:51 762

原创 Linux网络概述

说明:只供学习交流,转载请注明出处 一,TCP/IP协议族TCP/IP 实际上一个协同工作的通信家族,为网络数据通信提供通路。网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地

2013-05-29 11:26:12 1187 1

转载 C语言 条件编译详解

原文链接:http://blog.csdn.net/21aspnet/article/details/6737612 预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序

2013-05-28 09:27:27 553

转载 Linux中errno使用

原文链接:http://blog.csdn.net/21aspnet/article/details/6740110  当linux中的C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因,在实际编程中用这一招解决了不少原本看来莫名其妙的问题。但是errno是一个数字,代表的具体含义还要

2013-05-28 09:11:16 557

转载 指针类型转换

链接:http://www.360doc.com/content/10/1214/20/1317564_78154410.shtml 1、强制类型转换看一下这个c代码:int a = 0x123456;     //0x是十六进制的表示法char c = (char)a;printf("%x\n", c);在我的编译环境里输出的是什么呢? 是56,怎么得来的呢?in

2013-05-26 16:32:05 527

原创 多线程程序设计3

说明:只供学习交流,装载请注明出处 五,线程清除线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit或线程函数中return都将使线程正常退出,这是可预见的退出方式;非正常终止是在其他线程的干预下,或者由于自身出错(比如访问非法地址)而退出,退出方式是不可预见的。不论是可预见的线程终止还是异常终止,都会存在资源释放的问题,如何保证线程终止时能顺利的释放掉自己所

2013-05-26 13:44:46 887

转载 tiny6410温度传感器详细开发步骤

原文链接:http://blog.csdn.net/gameboy374/article/details/7516102 首先感谢署名为lixin的网友以及署名为tandesir的CSDN博主,我必须承认我是站在巨人的肩膀上才有能力迈出了这在我看来具有重要意义的一步!程序代码:ds18b20.c 01.#include 02.#include 03.#inclu

2013-05-25 19:54:39 994

原创 多线程程序设计2

说明:只供学习交流,转载请注明出处 四,线程属性在Linux系统中,每个线程都拥有一个与之相关的属性来表明该线程的特性。而一个线程属性可能与多个线程相关,描述这些线程的共有特性。在前面的实例中,调用pthread_create函数创建新的线程时,对第二个参数属性都指定了NULL,这表示创建的线程的属性取默认值,代码如下:      ret= pthread_create(&tid2

2013-05-25 18:56:38 959

原创 多线程程序设计1

说明:只供学习交流,转载请注明出处 一,创建线程和退出线程在Linux系统中,所有与线程相关的函数都是以pthread开头的。pthread_create函数用于在当前进程中加入新的线程。Linux系统中线程的创建与UNIX系统存在着不同。在Linux系统中,当调用pthread_create函数来创建线程时,系统首先先创建一个新的进程,再在该进程内再创建需要的线程。新创建的进程与原有

2013-05-25 18:53:46 584

原创 线程理论基础

说明:只供学习交流,转载请注明出处 一,线程的基本概念线程,也被称为轻量进程,指的是进程中某个单一顺序的控制流。线程是进程的实体,一个进程可以拥有多个线程,而一个线程必须有一个父进程。线程与父进程的其他线程一起共享进程的所有资源。线程本身不拥有系统资源,只是拥有一些运行必须的数据结构而已。在多处理器系统里,不同线程可以同时运行在不同的中央处理器上。进程是资源管理的最小单位,而线程是程序

2013-05-25 18:50:46 645

原创 信号量2

说明:只供学习交流,转载请注明出处 七,semctl函数在使用信号量之前,需要对信号量集中的每个元素进行初始化操作。semctl函数提供了该项功能。该函数的具体信息如下表:semctl函数 头文件#include #include #include 函数原型int semctl(int semid, int

2013-05-22 14:08:21 554

原创 信号量1

说明:只供学习交流,转载请注明出处  一,信号量的基本概念信号量(又名:信号灯)与其他进程间通信方式不大相同,主要用途是保护临界资源。进程可以根据它判定是否能够访问某些共享资源。除了用于访问控制外,还可用于进程同步。 在多进程环境里,运行一个进程或修改其他进程可能正在使用的数据,往往导致数据的数值不可预测。使用信号量避免了这个问题的出现。信号量用于控制多个进程对共享资源或数

2013-05-22 14:05:32 988

原创 消息队列2

说明:只供学习交流,装载请注明出处 六,msgsnd函数创建完消息队列后,为了通过消息队列进行进程间的通信,信息的发送方必须向消息队列发送信息。信息的接收方需要从消息队列中接收消息。发送消息和接收消息使用的函数分别是msgsnd函数和msgrcv函数。msgsnd函数的具体信息如下表:msgsnd函数 头文件#include #include

2013-05-19 17:47:01 602

原创 消息队列1

说明:只供学习交流,装载请注明出处 一,概念消息队列实际上就是一个消息链表,而消息是链表中具有特定格式及优先级的记录。进程按照一定的规则在消息链表中添加新的消息,而需要消息的进程可以从消息队列中获得所需的信息。消息队列和管道类似,消息被读走了就木有了。 目前主要有两种类型的消息队列:POSIX消息队列以及系统V消息队列,系统V消息队列目前被大量使用。系统V消息队列是随内核持续的

2013-05-19 17:44:03 645

原创 共享内存2

说明:只供学习交流,转载请注明出处  五,shmat函数shmat函数与shmdt函数用于实现对共享内存的操作。shmat函数用于将共享内存连接到指定的进程地址空间中。当共享内存连接到指定地址空间后,进程将获得指向该内存段的指针,然后可以根据指针实现对共享内存段的访问。完成对共享内存段的操作后,需要调用shmdt函数将共享内存段从进程的地址空间分离。shmat函数的具体信息如下

2013-05-18 17:19:08 570

原创 共享内存1

说明:只供学习交流,转载请注明出处 一,共享内存的基本概念共享内存是IPC(进程间通信)中最简单的方式之一。共享内存充许两个或多个进程访问同一块内存,就如同malloc()函数向不同进程返回了指向同一个物理内存的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。因为所有进程共享同一块内存。共享内存在各种进程间通信中具有最高的效率。访问共享内存区域和访问进程独有的

2013-05-18 17:17:14 597

原创 POSIX IPC基本概念

说明:只供学习交流,转载请注明出处 一,前言使用信号和管道进行进程通信存在一定的限制。例如,使用信号传递的信息有限,使用管道虽然能够传输一定量的信息,但是只能传输无格式的字节流。为了解决这些问题,20世纪70年代,AT&T发行的system V版本的Unix中引入了3中新的进程间通信(IPC)机制,分别是:消息队列、共享内存和信号量。在POSIX标准中,这些进程间通信机制被编入PO

2013-05-18 17:12:58 1178 1

原创 信号通信2

说明:只供学习交流,转载请注明出处 六,捕捉或忽略信号进程对于信号有3种处理方法:不做任何处理(采用系统默认的处理方法)、忽略信号和捕获信号。忽略信号和捕获信号都需要修改进程对于信号的默认处理,即在收到信号时设置具体的处理函数。Linux系统提供了两个系统调用用于完成这种功能,分别是signal函数和sigaction函数 signal函数的信息如下表所示:signal函数

2013-05-17 11:21:40 522

原创 信号通信1

说明:只供学习交流,装载请注明出处 一,信号的概念信号(signal)机制是Unix系统中最为古老的进程间通信机制,很多条件可以产生一个信号:1、当用户按某些按键时,产生信号。2、硬件异常产生信号:除数为0、无效的存储访问等等。这些情况通常由硬件检测到,将其通知内核,然后内核产生适当的信号通知进程,例如,内核对正访问一个无效存储区的进程产生一个SIGSEGV信号。3、进程用

2013-05-17 11:18:11 546

转载 typedef void (*sighandler_t)(int);类型说明

原文链接:http://blog.sina.com.cn/s/blog_7090a2d1010163ol.html   typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sighandler_t handler); 此处由于加了typedef自定义了一个新类

2013-05-17 09:59:56 778

转载 创业编程七个错误认识

本文是从 What’s Your Start-up’s “Bus Count”? 7 Myths of Entrepreneurship and Programming 这篇文章翻译而来。  多少年来,人们普遍有一种看法,认为软件工程应该和其它种类的工程一样:仔细的设计,精确的规划,然后进行开发 —— 严格按照设计说明书。就像修建一座桥梁,不是吗?这种开发方式的问题在于:软件,

2013-05-15 19:42:31 462

嵌入式MP3播放器项目源代码

嵌入式MP3播放器项目源代码,很值得做的一个项目,涉及到很多知识点,代码注释很详细,,,

2013-03-02

tftp_server

使用tftp_server实现网络下载

2012-08-03

嵌入式linux自学指导

嵌入式linux自学指导

2012-08-03

usb 转串口驱动

绝对能用

2012-08-02

mini2440 usb下载驱动

mini2440 usb下载驱动一定要到bootloader控制台下才起作用,否则擦伤没反应

2012-08-02

c primer pluse 课后编程答案

c primer pluse课后编程答案(全)

2012-07-20

空空如也

空空如也

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

TA关注的人 TA的粉丝

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