自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stay Hungry, Stay Stupid

一步一步往上爬的蜗牛......

  • 博客(72)
  • 资源 (12)
  • 收藏
  • 关注

转载 操作系统管理内存的机制——为什么要设置虚拟内存?

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制        在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存

2012-06-13 15:35:46 1168

原创 ioremap

void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)  void *ioremap(unsigned long phys_addr, unsigned long size)    入口: phys_addr:要映射的起始的IO地址;   size:要映射的空间

2012-06-13 14:42:21 519

转载 C语言中的return,exit,break,continue

http://blog.csdn.net/yangwenchao1983/article/details/6289150 C语言中的return,exit,break,continue。前两个函数使用的同时通常都会带上程序退出时的状态码,标准C中有EXIT_SUCCESS和EXIT_FAILURE两个宏,位于/usr/include/stdlib.h中。是这样定义的的:#defin

2012-06-13 13:55:34 506

转载 U-BOOT中Makefile分析

from: http://blog.csdn.net/boyskung/article/details/3211988 这里主要涉及到如下几个文件: 主目录中的Makfile、mkconfig、config.mk以及各子目录中的Makefile。因为子目录中Makefile太多,所以本文中以lib_arm目录中的Makefile为例进行分析。  首先大概介绍一下这几个文件。

2012-06-11 17:08:45 546

转载 U-BOOT.lds文件详解

U-BOOT.lds文件详解u-boot.lds决定了u-boot可执行映像的连接方式,以及各个段的装载地址(装载域)和执行地址(运行域)。 GNU官方网站上对.lds文件形式的完整描述:SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ){ contents } >region :phdr =f

2012-06-11 16:45:18 997

转载 linux 驱动开发 自动创建节点的问题

学习驱动编写 问题真多。创建设备文件device_create和销毁 函数使用出现如下问题:implicit declaration of function 'class_device_create'error: implicit declaration of function 'class_device_destroy'这个问题又困了我。没办法找个牛人问问。牛人就是牛

2012-06-09 23:16:07 612

转载 RedHat Enterprise Linux 5 安装TFTP服务器和NFS服务器

Abstract   在嵌入式开发中有宿主机和目标机之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。  TFTP服务器作为工作于宿主机的软件,主要提供对目标机的主要映像文件的下载工作。 Solution一.TFTP服务器的安装  利用以下命令就可以看到TFTP服务器已启动,则不用安装[root@localhost Server]# ne

2012-06-08 14:05:59 467

转载 汇编调用c函数为什么要设置栈

一.栈的整体作用(1)保存现场/上下文(2)传递参数:汇编代码调用c函数时,需传递参数(3)保存临时变量:包括函数的非静态局部变量以及编译器自动生成的其他临时变量。二.为什么汇编代码调用c函数需要设置栈之前看了很多关于uboot的分析,其中就有说要为C语言的运行,准备好栈。而自己在Uboot的start.S汇编代码中,关于系统初始化,也看到有栈指针初始化这个动作。但

2012-06-07 16:07:35 1882

原创 make -C M=

一般用下面的Makefile : # Makefile2.6 ifneq ($(KERNELRELEASE),)obj-m := hello.o  else PWD  := $(shell pwd)                                    # 指定模块源代码目录KVER ?= $(shell uname -r)

2012-06-07 11:12:09 745

转载 protel 99 se原理图设计步骤

protel 99 se原理图设计步骤1.1 protel 99 se电路板设计步骤  一般而言,设计电路板最基本的过程可以分为三大步骤。 电路原理图的设计电路原理图的设计主要是protel 99 se的原理图设计系统(Advanced Schematic)来绘制一张电路原理图。在这一过程中,要充分利用protel 99 se所提供的各种原理图绘图工具、各种编辑功能,来实现

2012-05-31 16:20:31 12402

转载 uboot中mkconfig详细分析-- 转载

现在来分析$(SRCTREE)/mkconfig文件的内容。在分析内容之前,为了方便,我把传入到此脚本中的参数都列出来,方便后面备查:smdk2410 arm arm920t smdk2410 NULL s3c24x0#!/bin/sh -e 这是第一行的内容,表示这个shell脚本的解释器是/bin/sh,给的解释器的参数为-e,这个参数的意思就是,当shell返回值为非零值的时候,

2012-05-30 09:19:50 1074

转载 什么是BSS段:

什么是BSS段:       一个程序本质上都是由 bss段、data段、text段三个组成的。这样的概念,不知道最初来源于哪里的规定,但在当前的计算机程序设计中是很重要的一个基本概念。而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。    在采用段式内存管理的架构中(比如intel的80x86系统),bss段(Block Starte

2012-05-30 09:08:48 670

原创 U-BOOT mkconfig文件详细解析

U-BOOT mkconfig文件详细解析 #!/bin/sh -e # Script to create header files and links to configure# U-Boot for a specific board. ##****此处指出了脚本的参数# Parameters:  Target  Architecture  CPU  Board

2012-05-27 14:43:17 907

转载 -include和sinclude 作用

-include和sinclude 如果有文件没有找到的话,make会生成一条警告信息,但不会马上出现致命错误。它会继续载入其它的文件,一旦完成makefile的读取,make会再重试这些没有找到,或是不能读取的文件,如果还是不行,make才会出现一条致命信息。如果你想让make不理那些无法读取的文件,而继续执行,你可以在include前加一个减号“-”。 如:

2012-05-27 13:54:58 3304

转载 硬链接和软链接的区别

一、链接文件    链接有两种方式,软链接和硬链接。  1软链接文件软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。    链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题,链接文件甚至可以循环链接自己。类似于编程语言中的递归。  用ln -s命令可以生成一个软连接,如下:  [root@

2012-05-27 13:39:02 1431

原创 U-BOOT移植,structure has no member named `CAMDIVN

U-BOOT移植,structure has no member named `CAMDIVN错误:speed.c: In function `get_HCLK':speed.c:114: error: structure has no member named `CAMDIVN'speed.c: In function `get_PCLK':speed.c:154

2012-05-26 17:49:56 2889

转载 S3C2440如何从NAND FLASH中启动

S3C2440如何从NAND FLASH中启动         S3C2440可以配置从NOR FLASH中启动,也可以配置成从NAND FLASH中启动,从NOR FLASH中启动比较好理解,因为NOR FLASH和RAM一样可以通过总线访问,cpu可以直接执行NOR FLASH中的程序,但是CPU不能直接通过总线访问到NAND FLASH中的程序,要从NAND FLASH中启动就要

2012-05-15 14:25:07 877

转载 【转】RO段、RW段和ZI段 --Image$$??$$Limit 含义(zz)

作者评注:内容很多,不过解释讲解详细http://www.cnblogs.com/heart-of-eagle/archive/2011/04/28/2032240.html转载:         IMPORT |Image$$RO$$Limit|     IMPORT |Image$$RW$$Base|     IMPORT |Image$$ZI$$Base|

2012-05-08 16:27:25 1276 1

转载 LTORG 伪指令

转贴:http://blog.csdn.net/lemon_fantasy/archive/2008/07/04/2612860.aspx  LTORG用于声明一个数据缓冲池,(也称为文字池)的开始。在使用伪指令LDR时,常常需要在适当的地方加入LTORG声明数据缓冲池,LDR加载的数据暂时放于数据缓冲池。语法 LTORG使用说明:当程序中使用LDR之类的指令时,数据缓冲池的使

2012-05-08 16:21:58 740

转载 STMFD和LDMFD指令个人理解分析

LDM/STM指令主要用于现场保护,数据复制,参数传送等。STMFD指令STMFD  Rn{!},{reglist}{^}  STMFD SP!,{R0-R7,LR} 对于这条指令伪代码的解释,网上是这么说的:SP = SP - 9×4;  address = SP;  for i = 0 to 7    Memory[address] =

2012-05-08 15:51:21 1663

转载 理解$HandlerLabel HANDLER $HandleLabel 宏

启动代码有如下的宏定义:MACRO         $HandlerLabel HANDLER $HandleLabel   ;宏定义,请仔细理解$HandlerLabel                                                          ;由于ADS仅支持FD(满递减)型堆栈    sub      sp,sp,#4

2012-05-08 15:15:16 1236

转载 ARM汇编指令汇总

1、ARM汇编的格式:    在ARM汇编里,有些字符是用来标记行号的,这些字符要求顶格写;有些伪码是需要成对出现的,例如ENTRY和END,就需要对齐出现,也就是说他们要么都顶格,要么都空相等的空,否则编译器将报错。常量定义需要顶格书写,不然,编译器同样会报错。    2、字符串变量的值是一系列的字符,并且使用双引号作为分界符,如果要在字符串中使用双引号,则必须连续使用两个双引号。

2012-05-08 13:56:21 36852 3

转载 ARM汇编ADR,LDR等伪指令

arm中LDR伪指令与LDR加载指令LDR伪指令的形式是“LDR Rn,=expr”。下面举一个例子来说明它的用法。 COUNT EQU 0x40003100 …… LDR R1,=COUNT MOV R0,#0 STR R0,[R1] COUNT是我们定义的一个变量,地址为0x40003100.这中定义方法在汇编语言中是很常见的,如果使用过单片机的话,应该都熟悉这种用法。 LDR R1,=C

2012-05-08 13:22:56 5775

原创 单片机接收模块FIFO的写法

可以利用FIFO来解决单片机接收数据过程中的阻塞现象。  #define RXBUF_SIZE  32                               //接收FIFO的最大容量unsigned char RX_BUFF[RXBUF_SIZE];       //接收FIFO缓冲区数组unsigned int UART_InputLen =0;

2011-12-05 13:04:27 1801

原创 第二章 构造和运行模块(1)

第二章开始进入到实际的编程了。第一个测试代码:Hello World。第一件事就是建立测试系统。我安装的系统是rhel-5.1-server-i386-dvd.iso,你可以到网上下载其他版本。里面自带的内核版本是2.6.18-53.e15。我觉得不爽,在kernerl.org镜像网站上下了linux-2.6.29.tar.bz2安装包,准备安装自己的内核。(1)将其解压到/home目

2011-11-13 21:16:41 567

原创 第一章 设备驱动程序简介

Linux自由操作系统,其内部实现细节对于所有人来说都是公开的。虽然它的内核由大量的而且复杂的代码组成,但是想成为内核黑客的人还是可以找到一个入口,通过这个入口进入Linux内核的开发当中,进入linux自由王国,而这个入口就是设备驱动程序。       驱动程序在 Linux 内核里扮演着特殊的角色. 它们是截然不同的"黑盒子", 使硬件的特殊的一部分响应定义好的内部编程接口. 它们完全隐藏

2011-11-12 22:44:38 507

转载 一个10年程序员职业发展和困境

一个10年程序员职业发展和困境  我不是计算机科班出身(学金融的),但是我喜欢编程,01年4月看到郑州一家网站招聘网络编辑,就去了,其实准备了很久,当然也面试上了,一个月800块钱,3个月试用期打八折。因为我上网还算早,所以喜欢网络,所以就应聘了带“网络”两个字的职位。后来到了公司才知道网络编辑其实就是Ctrl+CCtrl+V而已。在那个网站我学会了做网页(HTML),也了

2011-11-12 12:35:04 818

转载 Linux kernel之内核定时器

转载:http://allenshao.iteye.com/blog/982270 内核定时器 (也称为动态定时器)是内核在以后某一个时刻运行一段程序或进程的基础,软件定时器可以在一个确切的时间点上(更严格地说是一个时间点以后)激活相应的程序段或进程。软件定时器在设备驱动程序中被大量应用以检测设备的状态。使用一个软件定时器很简单,只需做一些初始化工作,设置一个相对于当前时刻的超时时间和

2011-11-10 13:26:06 3986

转载 深入分析Linux 内核链表

转载:https://www.ibm.com/developerworks/cn/linux/kernel/l-chain/  一、 链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除

2011-11-10 11:14:35 762

转载 进程地址空间

转载:http://www.cnblogs.com/hanyan225/archive/2011/08/03/2125927.html前边我已经说过了内核是如何管理物理内存。但事实是内核是操作系统的核心,不光管理本身的内存,还要管理进程的地址空间。linux操作系统采用虚拟内存技术,所有进程之间以虚拟方式共享内存。进程地址空间由每个进程中的线性地址区组成,而且更为重要的特点是内核允许进程使用该

2011-11-10 10:20:36 8293

转载 Linux内核--内核地址空间分布和进程地址空间

内核地址空间分布直接映射区:线性空间中从3G开始最大896M的区间,为直接内存映射区,该区域的线性地址和物理地址存在线性转换关系:线性地址=3G+物理地址。动态内存映射区:该区域由内核函数vmalloc来分配,特点是:线性空间连续,但是对应的物理空间不一定连续。vmalloc分配的线性地址所对应的物理页可能处于低端内存,也可能处于高端内存。永久内存映射区:该区域可访问高端内存。访问

2011-11-10 10:03:00 4635

转载 uImage简要说明

转载:http://www.cnblogs.com/reviver/archive/2009/09/21/uimage.html uImage是u-boot加载的映像格式。普通的vmlinux经过mkimage工具处理后,变成uImage格式,它由一个头部和压缩的vmlinux构成。bootm只能加载uImage的格式。在新的内核版本里,在有一些架构上已经有uImage的tar

2011-11-10 09:33:43 1286

AUTOSAR分层架构

AUTOSAR分层架构 AUTOSAR分层架构 AUTOSAR分层架构AUTOSAR分层架构

2018-01-09

好用的source insight插件工具

source insight好用的插件工具

2017-03-01

imx283开发板特殊硬件接口编程

IMx283开发板,特殊硬件接口编程。包括SPI, IIC等接口。

2017-02-27

移植linux-4.9的相关文件及结果

移植linux-4.9的结果文件:包括内核镜像,uboot以及根文件系统,支持DM9000。

2016-12-24

交叉编译工具4.4.3

交叉编译工具链 4.4.3. 可以编译最新的linux内核linux-4.9

2016-12-21

Z-Stack ZCL API.PDF

TI公司的ZCL API函数技术文档。 ZCL = zigbee cluster library.

2014-05-14

Z-Stack_Lighting_1_0_2

zigbee Light link安装包,无需下载,直接安装就好。 也可以去官网注册下载。

2014-05-02

一步步写嵌入式操作系统

一步步写嵌入式操作系统,李无言著。 经典书籍啊。来下载啊。

2013-12-13

一步步写嵌入式操作系统,配套源代码

一步步写嵌入式操作系统,源代码。 非常好的资料,来下载吧。

2013-12-13

《一步步写嵌入式操作系统》李无言著

一步步写嵌入式操作系统,李无言的大作,赶快来下载啊。

2013-12-13

空空如也

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

TA关注的人

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