自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Linux内核启动应用程序分析(三)

在内核启动应用程序第二篇中,我们知道,无论内核直接处理默认的配置信息还是先解析配置文件再处理配置信息,都是调用new_init_action这个函数进行处理的。那我们就看一下这个函数具体要做的事情。一、解析配置文件首先定义的是几个结构体的变量,我们可以看一下这个结构体的定义:里面的成员和我们的形参一样,只是多了一个pid的成员,所谓的pid指的是进程号。接着回到new_

2017-04-23 18:38:15 732

原创 Linux内核启动应用程序分析(二)

在前面的分析中我们了解到,内核挂接到根文件系统之后,进入init_post这个函数,开始启动应用程序。在前一篇博文中,我们具体分析了init_post最终会调用run_init_process(“\sbin\init”)这个函数进入下一阶段的启动流程。请参考:http://blog.csdn.net/stephen_lu_fahai/article/details/70452434在此之前,我

2017-04-22 21:03:18 893

原创 Linux内核启动应用程序分析(一)

前面我们分析了Linux内核的启动流程,请参考:http://blog.csdn.net/stephen_lu_fahai/article/details/70162011http://blog.csdn.net/stephen_lu_fahai/article/details/70305405通过分析Linux内核的启动流程,我们知道Linux内核首先挂接到根文件系统下,接着用ini

2017-04-22 16:44:09 2294

转载 Linux内核Makefile分析

博文转自:http://blog.csdn.net/lizuobin2/article/details/51464152本文简单介绍了 Linux 内核 Makefile 的大框架,对于KBuild 系统的详细的编译过程没有作过多的分析,写的很粗犷~还请见谅。更详细的内容请参考:        嵌入式Linux应用开发完全手册        makefile.t

2017-04-22 15:40:38 526

原创 <Linux>Linux内核启动分析(二)——start_kernel

在前一篇对head.S的分析中,我们知道内核启动的第一阶段的是处理u-boot传进来的机器id,由此来判断内核是否支持这个CPU以及该单板。而head.S最后跳到start_kernel这函数中作进一步的处理。分析如下:一、start_kernel在start_kernel这个函数中首先进行一系列的初始化,咱们就先不去具体分析每一个初始化函数,主要看最后两行的的setup_arch

2017-04-20 21:46:57 1216

原创 <Linux>u-boot 命令分析并编写一个命令

一、run_command函数前面我们说到,u-boot的核心就是run_command这个函数,那么我们就来分析一下这个函数具体要做那些事情。1321行,对命令进行解析。举个例子:比如说,md.w 0这个命令,它就能解析成为:Argv[0]=”md” Argv[1]=”0那么这个代表什么意思呢?接着往下看:1327行,这个函数提取1321行解析后的参数,那就先跟踪

2017-04-18 23:42:25 856

转载 Linux 链接脚本分析

转自:http://blog.csdn.net/lizuobin2/在前面学习的过程中,看代码时遇到 arch_initcall(xxx) 等函数总是处于愣神的状态,对于最基础的 module_init(xxx) 也只是拿来用用,不知道幕后的东西,了解 MACHINE_START 创建了一个 machine_desc ,却不知道 machine_desc->map_io 等函数时何时调

2017-04-16 21:45:09 584

原创 <Linux>Linux内核启动分析(一)——head.S

之前我们说到u-boot的最终目的是将内核从flash中读出,并且启动内核。那么内核一旦开始启动之后,就没有u-boot什么事情了,控制权就交给了内核,那么先来明确一下内核要做的事情:运行用户程序,而要想运行用户程序,就得先挂接到文件系统上。下面分析内核的启动流程:这是在内核文件下arch\arm\kernel目录下的head.S文件,也是内核启动的第一个文件。79行,通过设置CP

2017-04-13 21:09:19 3704

原创 <Linux>u-boot启动Linux内核分析

通过分析u-boot的启动流程,我们可以知道,u-boot启动内核的命令是bootcmd=nand_read.jffs 0x30007FC0  kernel:bootm 0x30007FC0;也就是先吧内核读到内存上,再去启动内核。在此之前我们先来明确一个定义,nandflash上的内核成为:uImage,其格式为:一个64k的头部+真正的内核其中头部的定义如下:我们重点关

2017-04-12 19:53:54 617

原创 u-boot第二阶段启动流程分析

第一阶段的初始化结束后进入start_armboot函数,也就是进入第二阶段的初始化。下面来分析第二阶段的主要流程。在此之前,我们先来明确u-boot的目标,u-boot要做的事情是1、把内核中flash中读出   2、启动内核248行,gd_t是一个结构体指针,保存一些全局变量,这条语句是给它分配一个内存空间258行,init_sequence是一个函数指针,具体如下:也

2017-04-11 11:26:14 565

原创 u-boot第一阶段启动流程分析

此博文是在网上看了一篇文档后做的整理,若是了解ARM汇编指令的基本知识,理解本文会更加方便。对于uboot中的start.S主要做的事情就是系统各个方面的初始化,大致可以分为以下6个部分:1、设置CPU模式2、关闭看门狗3、关闭中断4、设置堆栈SP指针5、清除bss段6、异常中断处理下面按照start.S源码逐个分析以上部分1、设置CPU模式

2017-04-09 22:48:41 802

原创 理解Makefile

本次笔记是看了陈皓的《跟我一起写Makefile》而作的记录,原版链接地址如下http://pan.baidu.com/s/1skBumRF第一部分一、Makefile介绍make命令编译和链接文件的的规则是:1、如果这个工程没有编译过,那么我们所有的C文件都要编译并被链接。2、如果这个工程的某几个C文件被修改,那么我们只需编译被修改的C文件,并链接目标文件。

2017-04-08 22:01:11 627

空空如也

空空如也

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

TA关注的人

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