编译的内核可能会很大,故这里可以压缩一下。而在内核文件中需要解压,所以就会有一段自解压代码。 在uboot启动内核的时候,调用了函数: thekernel(0,MACH_ID,params_addr ) 1. 首先处理uboot传入的参数。 获取处理器id,查看内核是否支持这个处理器。 获取uboo ...
分类:
系统相关 时间:
2016-10-20 15:06:21
阅读次数:
215
内核启动是需要必要的启动参数。不能开机自动完全从0开始启动,需要uboot帮助内核实现重定位并提供参数。 首先,uboo会从Kernel分区中读取bootcmd环境变量,根据环境变量可自动启动。 分区: 每个硬盘上都有一个分区表。由于Flash中没有分区表,所以Flash的分区只能在源代码中定义,故 ...
分类:
系统相关 时间:
2016-10-20 00:19:58
阅读次数:
187
获取u-boot源代码 在u-boot官方网站下载uboot源码。ftp://ftp.denx.de/pub/u-boot/ 这里我下载的是最新版 u-boot-2016.09.tar.bz2 解压文件到 /home/tiny4412下。 删减u-boot文件 删除u-boot源码中一些与移植目的不 ...
分类:
系统相关 时间:
2016-10-15 22:17:53
阅读次数:
250
这里说的u-boot启动流程,值得是从上电开机执行u-boot,到u-boot,到u-boot加载操作系统的过程。这一过程可以分为两个过程,各个阶段的功能如下。 第一阶段的功能: 硬件设备初始化。 加载u-boot第二阶段代码到RAM空间。 设置好栈。 跳转到第二阶段代码入口。 第二阶段的功能: 初 ...
分类:
系统相关 时间:
2016-10-14 00:14:55
阅读次数:
225
u-boot编译分析 在配置完成后,执行make开始编译。这里打开Makefile。 首先包含在配置时生成的config.mk sd ...
分类:
系统相关 时间:
2016-10-13 01:40:53
阅读次数:
206
所有的程序员入门的第一个程序都是从 Holle World 开始,linux嵌入式驱动开发也不例外,《Linux设备驱动程序》这本书的第一个程序就是hello world。然而,人生写驱动程序的第一次编译就异常的艰难。 以下是hello world 的程序,很简单,基本上学过C就能看懂,该程序包括两 ...
分类:
系统相关 时间:
2016-07-09 16:22:41
阅读次数:
238
作者:华清远见讲师Linux驱动开发主要的工作就是编写模块,一个典型的Linux内核模块文件.ko主要由以下几个部分组成。模块加载函数(必须)当通过insmod或modprobe命令加载内核模块时,模块的加载函数会自动被内核执行,完成本模块的相关初始化工作。Linux内核模块加载函数一般用s..
分类:
系统相关 时间:
2016-06-24 20:43:32
阅读次数:
156
概览: 1. 《嵌入式Linux应用开发完全手册_.pdf》 韦东山编写,讲解arm硬件,uboot以及linux嵌入式开发,配合2440开发板最佳。 2. 《Uboot中start.S源码的指令级的详尽解析_v1.6.pdf》 对理解gnu arm汇编极其有帮助。 3. 《ARM指令集快速查询手册 ...
分类:
其他好文 时间:
2016-06-02 00:39:21
阅读次数:
1783
Linux裁剪方法研究 2006 2
Linux裁剪原理: 2
Linux嵌入式系统根文件系统的选择与制作 2006 3
Linux嵌入式系统根文件系统的选择与制作 2006 3
基于ARM的嵌入式Linux操作系统移植的研究 2006
5
基于ARM的嵌入式文件系统研究与设计 2010 6
基于嵌入式Linux的Ext2根文件系统制作分析 2015
6
嵌入式Linux裁剪...
分类:
系统相关 时间:
2016-05-06 12:50:57
阅读次数:
199
第二章我们学习了安卓系统与嵌入式开发,我们都知道安卓操作系统是基于Linux内核的,从系统移植和驱动开发的角度来说,安卓的底层开发移植,和传统嵌入式Linux系统的开发关系非常密切,两者的驱动在开发上几乎保持了完全一致,另外,安卓的底层开发和移植也与Linux嵌入式的环境保持了一致,嵌入式在我们生活 ...
分类:
移动开发 时间:
2016-04-26 12:40:33
阅读次数:
200