自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (30)
  • 收藏
  • 关注

转载 [raspberry pi] 树莓派 Kernel 编译笔记

来自:http://aguegu.net/?p=1544发现自己的知识体系有一段很大的空缺,就是对于 ARM 还是太缺少了解,下面是AVR系列单片机,上面是PC机、服务器,好歹都还算大概见过是怎么一回事,而对于SOC,就了解得很不够,包括对于手机、安卓或是苹果系都只是停留在应用层面,至于开发是怎么样子就没有什么感性认识,感觉一打开这扇门,就会有各种知识领域排山倒海而来。不过该来

2013-03-15 09:37:57 18916

原创 U-Boot介绍

U-Boot简介U-Boot是德国DENX小组开发的用于多种嵌入式CPU(MIPS、x86、ARM、XScale等)的Bootloader程序,U-boot不仅支持嵌入式Linux的引导,还支持VxWorks,QNX等多种嵌入式操作系统。从下面地址可以下载到uboot的源代码:

2011-07-25 19:27:43 1707

原创 Bootloader介绍

概念——什么是Bootloader        中文名称:系统启动加载器对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader。简单地说,BootLoader就是在操作系统内核运行之前运行的一

2011-07-25 16:48:09 956

原创 交叉工具链

交叉编译       交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓 平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。安装交叉工具链

2011-07-25 08:47:48 446

转载 uImage的制作

对于Linux 2.6 以上内核,内核编译的时候支持uImage目标#make menuconfig#make uImage或者按照u-boot源代码根目录下的README文件中关于Building a Linux Image一节,手动生成uImage,步骤如下:1)配置编译内核

2011-07-17 20:06:01 733

原创 嵌入式Linux系统架构及开发流程

软硬件系统架构

2011-07-15 19:45:22 1000

原创 Linux内核模块开发

功能模块1.什么是内核模块Linux内核的整体结构非常庞大,其包含的组件也非常多,如何使用需要的组件呢:方法一:把所有的组件都编译进内核文件,即zImage或bzImage。但这样会导致两个问题:一是生成的内核文件过大;

2011-07-15 16:45:54 1317

转载 LINUX的多个GCC版本

我目前使用的是UBUNTU的8.04,因为最近一直在升级LINUX,导致目前我的GCC也变高了,目前是4.2.3。当我编译以前手头上的CROSSTOOL时出现这样的提示:checking for a BSD-compatible install... /usr/bin/insta

2011-07-10 20:15:54 467

原创 Linux内核配置与编译

Linux内核具有可定制的优点,具体步骤如下:1.清除临时文件、中间文件和配置文件。         (1).make clean:remove most generated files but keep the config.         (2).make mrproper:remove all generated files + config files.        

2011-06-24 16:01:00 480

原创 ARM处理器的快速上下文切换技术

5.3.1  FCSE概述<span style="font-size: x-small; font-family: Times New Roman;">FCSE(Fast Context Switch Extension,快速上下文切换)位于CPU和MMU之间,如果两个进程使用了同样的虚拟地址空间,则对CPU而言,两个进程使用了同样的虚拟地址空间。快速上下文切换机构对各进程的虚拟地址进行

2011-06-23 08:42:00 3503 2

原创 Linux内核目录简介

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

2011-06-20 20:46:00 646

原创 linux内核简介

Linux体系结构从上图得知,Linux由用户空间和内核空间两部分组成。      现代CPU通常实现了不同工作模式,以ARM为例,实现了7种工作模式:用户模式(usr)、快速中断(fiq)、外部中断(irq)、管理模式(svc)、数据访问中断(abt)、系统模式(sys)、未定义指令异常(und)。      x86也实现了4个不同的级别:Ring0——Ring3。Ring0下,

2011-06-20 16:30:00 587

原创 ARM920T中断控制系统

中断控制机制CPU运行过程中,如何知道各类外设发生了某些不预期的事件,比如串口收到了数据、按键被按下?此时ARM有两种中断机制:1.查询方式。程序不断地查询各设备的状态,并作出相应的反应。该方式实现比较简单,常用在比较单一的系统中,比如一个温控系统中可以使用查询方式不断检测温度的变化。特点:实现简单;但CPU利用率很低,不适合多任务的系统。2.中断方式。当事件发生时,硬件会设置某个

2011-06-17 15:40:00 1352

原创 mini2440 LED程序设计

LED程序设计LED是开发中最常用的状态指示设备,mini2440具有4个用户可编程LED,它们直接与CPU的GPIO相连接,低电平有效(点亮),资源占用如下表:LED控制思想1.先将相应的引脚设置为输出模式。2.再向相应的引脚输出低电平即可点亮LED灯。  注:要写此程序要先看懂mini2440CPU引脚及寄存器设置手册。Main.c函数如下:#define 

2011-06-15 10:22:00 592

原创 S3c 2440的GPIO

GPIOGPIO,通用输入输出(General Purpose I/O)的简称,其引脚可以供编程使用。嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备,对这些设备的控制,有时只需要一位控制信号就够了,即只需要开/关两种状态就够了,比如灯亮与灭。对这些设备的控制,使用传统的串行口和并行口都不合适。所以在微控制器芯片上一般都会提供一个“通用可编程I/O接口”,即GPIO。S3c GPI

2011-06-15 09:28:00 987

原创 大、小端模式的测试

大端模式:是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中小端模式:是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。 采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。到目前为止,采用大端或者小端进行数据存放,其孰优孰劣也没有定论。嵌入式系统开发者应该对Little-endian和Big-endia

2011-06-14 09:17:00 571

原创 TCP并发服务器

服务器模型在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。目前最常用的服务器模型有:1.循环服务器。服务器在同一时刻只能响应一个客户端的请求。2.并发服务器。服务器在同一时刻可以响应多个客户端的请求。前面介绍的为TCP和UDP循环服务器。TCP并发服务器并发服务器的思想是每一个客户机的请求并不由服务器直接处理,而是由

2011-06-13 15:59:00 3053

原创 UDP网络程序设计

基于UDP——服务器程序步骤:1.创建一个socket,用socket()函数2.绑定IP地址、端口等信息到socket上,用函数bind()3.循环接收数据,用recvfrom()4.关闭网络连接。 基于UDP——客户端程序步骤:1.创建一个socket,用socket()函数2.绑定IP地址、端口等信息到socket上,用函数bind()3.设置对方的IP地

2011-06-12 21:58:00 662

原创 TCP程序设计

基于TCP——服务器程序设计步骤:1.创建一个socket,用函数socket();2.绑定IP地址、端口等信息到socket上,用函数bind();3.设置允许的最大连接数,用函数listen();4.等待来自客户端的连接请求,用函数accept();5.收发数据,用函数send()和recv(),或者read()和write();6.关闭网络连接。基于TCP——

2011-06-12 15:27:00 521

原创 Linux网络编程基础

socketLinux中的网络编程通过socket(套接字)实现。socket是一种文件描述符。socket有三种类型:(1)流式套接字(SOCK_STREAM)。流式套接字可以提供可靠的、面向连接的通讯流,它使用TCP协议。TCP协议保证了数据传输的正确性和顺序性。(2)数据报套接字(SOCK_DGRAM)。数据报套接字提供了一种无连接的服务,数据通过相互独立的报文进行传输,是无

2011-06-12 11:12:00 388

原创 Linux网络基础

Linux网络优势Linux为用户提供了完善的、强大的网络功能:1.完善的内置网络。其他操作系统不包含如此紧密的和内核结合在一起的网络部分。2.Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上的其他人通过Internet网络进行通信。3.用户能通过一些Linux命令

2011-06-12 09:30:00 448

原创 线程清除

#include #include #include void *clean(void *arg){    printf("cleanup :%s  /n",(char *)arg);    return (void *)0;}void *thr_fn1(void *arg){    printf("thread 1 start  /n");    pthread_cleanup_push( (v

2011-06-12 08:12:00 292

原创 多线程

多线程的理论基础       线程技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者(Solaris 是Sun Microsystems研发的计算机操作系统。它被认为是UNIX操作系统的衍生版本之一。目前Solaris属于混合开源软件。2005年6月14日,Sun公司将正在开发中的Solaris 11的源代码以CDDL许可开放,这一开放版

2011-06-11 21:08:00 330

原创 IPC——信号量

信号量的基本概念信号量(又称信号灯)与其它进程间通信方式不大相同,主要用途是保护临近资源,进程可以根据它判断是否能否访问某些共享资源,除了用于访问控制外,还可以进行进程同步。    分类二值信号灯:信号灯的值只能取零和一,类似于互质锁,但两者又不同:信号灯强调共享资源,只要共享资源可用,其它进程同样可以修改信号灯的值;互斥锁则更强调进程,占用资源的进程使用完毕后,必须由进程本身来解

2011-06-11 21:06:00 370

原创 IPC——消息队列

消息队列的基本概念       Unix早期通信机制之一的信号机制能够传送的信号量有限,管道则只能传送无格式的字符流,这无疑会给应用程序开发带来不便,而消息队列则克服了这些缺点。       消息队列就是一个消息的链表,可以把消息看成一个记录,具有特定的格式。进程可以向队列中按照一定的规则添加新消息;另一些进程则可以从消息队列中读取消息。       目前主要有两类消息队列: 

2011-06-11 21:06:00 549

原创 IPC——共享内存

共享内存的概念       共享内存是指被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存的区域写了数据,共享这块内存区域的所有进程就可以立刻看到其中的内容了。       共享内存的实现可以分为两个部分:       一.创建共享内存,使用shmget函数;       二.映射共享内存,将这块创建的共享内存映射到具体的进程空间中去,使用

2011-06-11 21:05:00 1485

原创 IPC——信号

信号(signal)机制是Unix系统中最为古老的进程间通信机制,很多条件可以产生一个信号:一. 当用户按某些键时,产生信号。二. 硬件异常产生信号:除数为零,非法的存储访问等等。这些情况通常是由硬件检测到,将其通知内核,然后内核产生适当的信号通知进程,例如,内核对正在访问一个无效存储区的进程产生一个SIGSEGV(SIG is a common prefix for signal names

2011-06-11 21:04:00 492

原创 管道

进程间通信概述 进程通信的目的1.        数据传输一个进程需要将它的进程传递到另一个进程2.        资源共享多个进程需要共享同样资源3.        通知事件一个进程需要向另外一个或者一组进程发送消息,通知他们发生了某种事件。4.       进程控制有些进程希望完全控制另一个进程的执行,此时控制进程希望能够拦截另一个进程的所有操作,并

2011-06-11 21:03:00 410

原创 进程控制

1.fork()函数     fork()的作用是创建一个进程,它有两个返回值。一个值是调用fork的父进程中fork()返回所创建子进程的id号,另一值是在fork创建的子进程中fork()返回值0,但是在子进程中,虽然fork()的返回值是0,但是子进程的id不是零。注意:fork调用,新建的子进程拷贝父进程的所有资源,比如内存,堆栈等,使用fork系统调用产生父子进程,父子进程的

2011-06-11 21:02:00 317

原创 时间函数

时间类型有两种:一种是世界标准时间(UTC: Universal Time of Coordination),即格林威治时间(GMT:Greenwich Mean Time);另一种是日历时间(Calendar Time),是用从一个标准时间点(如:1970年1月1日0点)到此时经过的秒数来表示时间。函数名称如下:1.    time_t time(time_t *tloc) 

2011-06-11 21:00:00 454

原创 Linux下系统调用访问文件

Linux的文件操作有两种方式:①Linux系统调用方式,这种方式依赖于Linux系统②C语言的文件操作,采用C语言的库函数实现。以下是Linux系统调用方式: 1. 创建文件int creat(const char *filename, mode_t mode)filename:要创建的文件名,包含路径,缺省时为当前路径;mode:创建模式常见创建模式:S

2011-06-11 20:58:00 2202

原创 makefile使用

规则:      目标 依赖 命令      target:prerequisites         command注意:命令行必须以tab键开始!! makefile文件中存在系统默认的自动化变量:1. $^ 代表所有的依赖文件2. $@ 代表目标文件3. $ 例如: A:   hello:main.o fun1.o fun2.o    

2011-06-11 20:56:00 390

原创 gdb常用调试命令

将.c文件编程成包含标准调试信息的文件命令:# gcc  -g  *.c  -o  *1 .启动gdb调试程序    两种方式:                   A:gdb filename                   B: 启动gdb后,使用file filename2 .list(l)                     查看程序(方便设置断点)

2011-06-11 20:55:00 305

原创 shell编程

第一个:比较两个数的大小在shell编程中,如果多个关键字写在一行的话,关键字之间应该用分号隔开,否则会出现错误无法运行。#!/bin/bash#将第一个命令行参数传递给变量a,第二个命令行参数传递给变量ba=$1b=$2 #判断a或者b变量是否为空, 只要有一个为空就打印提示语句并退出if [ -z $a ] || [ -z $b ]then     echo "please ent

2011-06-11 20:53:00 457

原创 shell脚本

Shell是命令解析器,将用户的指令转换为相应的机器能够运行的程序。Shell脚本是一个包含一系列命令序列的文本文件。当运行这个脚本文件时,文件中包含的命令序列将得到执行。 ex1:脚本范例#!/bin/sh#echo somethingecho "hello world"mkdir /tnt  注意: 第一行:#!用来指定该脚本程序的解析程序,开头的第一行只能有这些:

2011-06-11 20:50:00 472

原创 Enterprise Linux5 安装wireshark

wireshark是一款开源网络协议分析器,它可以实时检测网络通讯数据,也可以抓取网络通讯数据。可以通过界面浏览这些数据,可以查看网络通讯数据包中每一层的详细内容。 第一步:在Windows下红帽企业版5的.iso文件中找到下面四个包,用samba共享给虚拟机。lm_sensors-2.10.0-3.1.i386.rpmnet-snmp-5.3.1-19.e15.i386.rpmwir

2011-06-11 20:49:00 543

原创 Enterprise Linux5 配置Samba服务器(国嵌)

配置redhat的IP地址,确保redhat可以PING通XP的IP地址。    redhat的IP地址最好采用静态配置的方式,这样它的IP不会经常改变,IP地址的设置参考本机系统的IP地址。我的机子的IP是:        IP Address. . . . . . . . . . . . : 192.168.5.159        Subnet Mask . . . . . .

2011-06-11 20:47:00 1364 1

原创 Enterprise Linux5 配置NFS服务器(国嵌)

1.先查看有没有安装nfs-utils的安装包,   命令:# rpm -q nfs-utils  显示 nfs-utils-1.0.9-24.el5 为已经安装 2.如果没有安装nfs-utils的安装包,从对应的Linux操作系统版本的安装光盘上找到nfs-utils的安装包并安装。    命令:# rpm -ivh nfs-utils-1.0.9-24.el5.i386.rp

2011-06-11 20:46:00 855 1

原创 Enterprise Linux5 配置TFTP服务器(国嵌)

TPTP服务器作为工作于宿主机上的软件,主要提供对目标机的主要映像文件的下载工作。 第一步:用命令查看tftp服务器有没有启动,如果已启动,则不用安装。 命令:#netstat –a | grep tftp 若有如下结果: udp        0      0 *:tftp                      *:* 则已经按照成功不用安装, 如果什么都不显示,则需

2011-06-11 20:44:00 491

cscope_macros.vim

cscope_macros.vim

2015-06-23

Oracle_VM_VirtualBox_Extension_Pack-4.3.26-98988.vbox-extpack

Oracle_VM_VirtualBox_Extension_Pack-4.3.26-98988.vbox-extpack

2015-06-23

VBoxGuestAdditions_4.3.26.iso

VBoxGuestAdditions_4.3.26.iso

2015-06-23

usb-uart驱动

usb-uart驱动 win7 windowsxp等

2014-08-06

Oracle_VM_VirtualBox_Extension_Pack-4.3.10

Oracle_VM_VirtualBox_Extension_Pack-4.3.10

2014-08-06

zopfli工具源文件

zopfli压缩工具源文件,解压后直接make生成zopfli可执行压缩编译器。google公司出的压缩工具。

2013-03-21

Raspberry Pi使用手册

Raspberry Pi使用手册,树莓派 raspberry pi ARM11,系统安装运行讲解

2013-03-21

ARM嵌入式应用开发技术白金手册

ARM嵌入式应用开发技术白金手册ARM嵌入式应用开发技术白金手册ARM嵌入式应用开发技术白金手册

2011-09-25

可用于mini2440开发板的u-boot

可用于mini2440开发板的u-boot可用于mini2440开发板的u-boot可用于mini2440开发板的u-boot

2011-09-25

linux内核代码架构图-清晰版.png

linux内核代码架构图-清晰版linux内核代码架构图-清晰版linux内核代码架构图-清晰版

2011-07-15

Source Insight3.5(序列号+汉化).RAR

Source Insight3.5(序列号+汉化).RARSource Insight3.5(序列号+汉化).RAR

2011-07-14

Linux嵌入式系统设计与开发.pdf

Linux嵌入式系统设计与开发.pdfLinux嵌入式系统设计与开发.pdfLinux嵌入式系统设计与开发

2011-07-14

linux程序设计(第三版).pdf

linux程序设计(第三版)linux程序设计(第三版)linux程序设计(第三版)

2011-07-14

linux内核配置参考.doc

内核配置参考内核配置参考内核配置参考内核配置参考内核配置参考

2011-06-25

Linux设备驱动开发详解讲座

Linux设备驱动开发详解讲座Linux设备驱动开发详解讲座

2011-06-01

arm指令集 arm指令集

arm指令集arm指令集arm指令集arm指令集arm指令集arm指令集

2011-06-01

Linux设备驱动程序第三版2.6中文

Linux设备驱动程序第三版2.6中文Linux设备驱动程序第三版2.6中文

2011-05-31

GNU Make 使用手册(中译版)

GNU Make 使用手册(中译版)GNU Make 使用手册(中译版)GNU Make 使用手册(中译版)

2011-05-31

vi命令 vi命令 vi命令

vi命令vi命令vi命令vi命令vi命令vi命令vi命令vi命令vi命令vi命令

2011-05-31

Linux命令大全(修改版)

Linux命令大全(修改版)Linux命令大全(修改版)Linux命令大全(修改版)

2011-05-31

分布式系统设计分布式系统设计

分布式系统设计分布式系统设计分布式系统设计分布式系统设计

2011-05-30

TCP-RS232串口调试工具包

TCP-RS232串口调试工具包TCP-RS232串口调试工具包TCP-RS232串口调试工具包

2011-05-30

Linux C编程一站式学习(随书资料)

Linux C编程一站式学习(随书资料)Linux C编程一站式学习(随书资料)

2011-05-30

unix程序员手册unix程序员手册

unix程序员手册unix程序员手册unix程序员手册unix程序员手册

2011-05-30

跟我一起写Makefile

跟我一起写Makefile跟我一起写Makefile跟我一起写Makefile

2011-05-30

8051单片机实践与应用全书

8051单片机实践与应用全书,单片机实验用书。。。。。。

2011-05-29

ARM嵌入式应用开发技术白金手册书中源码

ARM嵌入式应用开发技术白金手册书中源码

2011-04-16

Visual.Assist.X.v10.0.1230.0.Winall.Cracked-iNFECTED.rar

能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等,有助于提高开发过程的自动化和开发效率

2011-04-05

vc6绿色自解压软件c++编译器

本vc6存储小,功能强,便于携带。很不错的哦!

2011-04-05

空空如也

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

TA关注的人

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