ChinaUnix.net
相关文章推荐:

arm linux 启动

本资源回复后,可见下载链接

by 戴墨镜的乌龟 - 服务器资源下载 - 2010-11-15 14:25:03 阅读(1730) 回复(5)

linux

相关讨论

搞了几个月 COTEX构架的STM32后,又开始回归linux了。学习arm linux启动的一点心得:3个重要的文件及其路径:1.head.S---/arch/arm/boot/compressed 对于arm 系列处理器来说,zImage 的入口程序即为 arch/arm/boot/compressed/head.S。它依次完成以下工作:开启 MMU 和 Cache,调用decompress_kernel()解压内核,最后通过调用 call_kernel()进入非压缩内核Image 的启动。 2.head.S--/arch/arm/kernel 整个arm linux内核的启动可分...

by guliangzeng - Linux文档专区 - 2009-09-09 16:58:56 阅读(1144) 回复(0)

实际上讲到linux启动部分不得不会讲到linux的链接脚本部分,链接脚本指定了linux怎么链接程序并将特定的代码放到专门的段区间,因此我在这里再讲下vmlinux的链接过程的一些注意问题,以下均是基于SEP4020 linux2.6内核的分析: 首先看一下顶层Makefile生成的vmlinux以及arch/arm/boot/compressed/makefile生成的vmlinux的起始地址。 1.1 arch/arm/kernel/vmlinux.lds文件的生成 通过顶层Makefile中的规则生成vmlinux是根据arch/...

by fpseustar - Linux文档专区 - 2009-11-30 22:36:49 阅读(960) 回复(0)

2、lib-arm/board.c系统c语言部分初始化分析 /*start_armboot 是 U-Boot 执行的第一个C语言函数,完成系统初始化工作,进入主循环,处理用户输入的命令。*/ void start_armboot (void) { init_fnc_t **init_fnc_ptr; char *s; #ifndef CFG_NO_FLASH ulong size; #endif #if defined(CONFIG_VFD) || defined(CONFIG_LCD) unsigned long addr; #endif /* U-boot唯一的全局变量保存了U-boot的所有信息,我们在这分配其空间,它是位...

by fpseustar - Linux文档专区 - 2009-11-30 22:23:26 阅读(1090) 回复(0)

二、U-boot链接脚本的介绍 1 uboot的链接脚本的内容及分析如下 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) //指定启动时的函数入口地址,_start在每个CPU的start.S中定义 //真正的启动运行地址段由TEXT_BASE宏定义在编译时由config.mk中定义 SECTIONS { . = 0; //指定系统启动从偏移地址 0开始 . = ALIGN...

by fpseustar - Linux文档专区 - 2009-11-30 22:16:53 阅读(856) 回复(0)

今天晚上总算把自己的arm linux启动部分讲座讲了第一部分和第二部分了,明天还要讲第三部分和第四部分,今天主要讲了下uboot的启动流程和linux的编译链接过程,明天接着讲linux汇编的启动部分,下面我把uboot的部分介绍下,明天就把我最终的课件上传过来吧,作为网友对我的支持的回报, 一、U-boot的启动流程 Uboot的启动流程如下: 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/99507/showart_21...

by fpseustar - Linux文档专区 - 2009-11-30 21:42:35 阅读(998) 回复(0)

[color="#0001FF"]下面是接着第二节往下的:[color="#0001FF"] [color="#0001FF"]@ 对下面这些地址的理解其实还是很麻烦,但有篇文档写得很清楚《About TEXTADDR, ZTEXTADDR, [color="#0001FF"]@ PAGE_OFFSET etc...》。下面程序的意义就是保证解压地址和当前程序的地址不重叠。上面分配了64KB的空间来做解压时的数据缓存。[color="#0001FF"]/*[color="#0001FF"] 检查是否会覆盖内核映像本身 [color="#0001FF"] * r4 = 最后我们...

by fpseustar - Linux文档专区 - 2009-11-27 09:24:16 阅读(608) 回复(0)

昨天分析了一下SEP4020 linux的zImage的加载引导过程,zImage其实主要就是在重定位代码,然后就是将我们的Image镜像搬运到0x30008000位置,然后向Image传递r0=0,r1=体系架构号,r2=参数列表基址,然后就跳到了Image去执行系统启动了,不过这中间在解压缩内核和搬运过程中是要开MMU和CACHE的,所以其中有相当的篇幅是开这两个玩意的,下面就代码一句一句来介绍分析吧,代码位置在/arch/arm/boot/compressed/head.S中: .section "....

by fpseustar - Linux文档专区 - 2009-11-27 09:23:12 阅读(910) 回复(0)

下周准备做linux启动的技术讲座,在这里我慢慢整理下自己的材料,这次我写的是Image的启动过程,也即使zImage解压缩结束后的启动代码,这时候的代码开始地址仍然是0x30008000,下面我结合代码来讲吧: Image的启动代码是在/arch/arm/kernel/head.S中的: /* * linux/arch/arm/kernel/head.S * Kernel startup code for all 32-bit CPUs */ /* 内核启动入口点 * Kernel startup entry point. * 这里通常在解压后直接调用...

by fpseustar - Linux文档专区 - 2009-11-25 09:17:03 阅读(1296) 回复(0)

arm-linux开发环境的介绍:启动的流程 下面是我收藏的一篇好文章,就是忘记是那位仁兄,写的了,如果您正好看到这篇文章,请补注您的作者信息 ------------------------------------ 首先,porting linux的时候要规划内存影像,如小弟的系统有64m SDRAM, 地址从0x 0800 0000 -0x0bff ffff,32m flash,地址从0x0c00 0000-0x0dff ffff. 规划如下:bootloader, linux kernel, root...

by eagle8610 - Linux文档专区 - 2009-08-31 20:01:24 阅读(1215) 回复(0)

优龙ST2410开发板-启动图标制做 1.方案分析 arm-linux启动时会先在LCD左上角显示一个armlinux的小企鹅图案,也就是我们所说的bootlogo。 首先分析一下Logo的显示代码: 不难发现Logo显示是在加载显示驱动fb后由kernel/drivers/video/fbcon.c中的fbcon_show_logo函数来完成的。 fbcon_show_logo函数中有很多兼容性代码,不是都会用到的!我们用的是SHARP(夏普)的TFT真彩屏. 再仔细看一下,这里用到的显示数据均来自kernel/include/li...

by xiami007 - Linux文档专区 - 2008-10-09 16:35:11 阅读(1292) 回复(0)