
Linux Boot
njuitjf
不积跬步无以致千里
展开
-
start.S进一步、更详细的、深入的解释和分析 2013.04.26更新(三)
转自:http://zqwt.012.blog.163.com/blog/static/1204468420133266206247/ /* set the cpu to SVC32 mode */ mrs r0,cpsr // 把当前程序状态寄存器中的数据拷贝给r0 bic r0,r0,#0x1f // r0和0x1f(00011111)的反码进转载 2014-03-04 15:24:51 · 1055 阅读 · 0 评论 -
Linux GPIO 的注册与申请
Linux GPIO 的注册与申请Linux Kernel, GPIO, ARM在Linux kernel代码中,经常会使用 GPIO 来作为一个特殊的信号,如作为芯片的片选信号等。GPIO 申请的函数,我们经常用到,如 gpio_request ,那么 GPIO 是何时,以及如何注册的,本文就来探索一下。基于的平台上 freesccale 的 i.MX6先从函数 gpio_r原创 2014-10-30 17:11:21 · 19350 阅读 · 3 评论 -
linux内核起动1-启动参数(启动参数的获取和处理,分析setup_arch)
转自:http://www.myexception.cn/linux-unix/1438068.html linux内核启动1-启动参数(启动参数的获取和处理,分析setup_arch)最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动。看的过程中总结了一点东西,希望可以帮助大家调试内核。当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳转载 2014-04-02 16:18:44 · 2489 阅读 · 0 评论 -
Linux u-boot加载过程
Linux u-boot加载过程----基于freescale i.MX6近期做项目需要修改u-boot,刚好趁机研究一把linux u-boot。以前没接触过u-boot,所以学习只能从头开始。既然是从头开始, 那就从u-boot的加载过程起步吧。本文主要包括以下内容:1、cpu如何开始加载u-boot。2、加载u-boot时的初期处理。3、如何跳转到c代码。原创 2014-03-05 19:20:03 · 11974 阅读 · 0 评论 -
u-boot.lds文件诠释
转自:http://blog.youkuaiyun.com/qiaoliang328/article/details/5891913 u-boot.lds文件诠释 网上大部分u-boot.lds文件的分析大部分都是千遍一律,例如下面就是本人在网上找到的关于u-boot.lds的资料。OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "e转载 2014-03-05 18:28:29 · 1402 阅读 · 0 评论 -
u-boot链接文件u-boot.lds分析
转自:http://blog.chinaunix.net/uid-23670869-id-2391614.html 对于u-boot-2010.03版本的smdk2410这个平台的链接文件是/cpu/arm920t/u-boot.lds,下面就来分析下该文件的每一句是什么意思。 //;三个分别指定在缺省、大端、小端情况下的输出可执行文件格式,这里都指定输出格式是elf32,小端和a转载 2014-03-05 18:27:33 · 1135 阅读 · 0 评论 -
start.S进一步、更详细的、深入的解释和分析 2013.04.26更新(二)
转自:http://zqwt.012.blog.163.com/blog/static/120446842013326690970/ /****************************************************** Startup Code (reset vector) // 启动代码(复位向量) * do important init only i转载 2014-03-04 15:22:51 · 1054 阅读 · 0 评论 -
start.S进一步、更详细的、深入的解释和分析 2013.04.26更新(四)
转自:http://zqwt.012.blog.163.com/blog/static/12044684201332662650711/ l 下面这几行代码的作用是定义了一些宏,给寄存器赋值(其实赋的是寄存器的地址),以后会用到#if defined(CONFIG_S3C2400)# define pWTCON 0x15300000# define INTM转载 2014-03-04 15:26:42 · 1467 阅读 · 0 评论 -
最全的uboot start.S分析
转自:http://futongrui.blog.sohu.com/133062325.html #include #include #if defined(CONFIG_S3C2410)#include #elif defined(CONFIG_S3C2440)//include\configs\smdk2440.h中定义。#include #endif#in转载 2014-03-04 14:56:47 · 1101 阅读 · 0 评论 -
start.S进一步、更详细的、深入的解释和分析 2013.04.26更新(五)
转自:http://zqwt.012.blog.163.com/blog/static/12044684201332663357278/ copy_loop: ldmia r0!, {r3-r10} /* copy from source address [r0] _start,即uboot的入口地址 */ stmia r1!, {r3转载 2014-03-04 15:28:18 · 2688 阅读 · 1 评论 -
uboot中语句__asm__ __volatile__("": : :"memory");理解
The GCC manual says using "asm volatile" prevents the asm instruction from being "moved significantly" and adding "memory" to the clobber list prevents GCC from keeping memory values cached in转载 2014-03-04 10:51:53 · 6530 阅读 · 0 评论 -
Linux 引导启动程序(boot)
主要描述 boot/目录中的三个汇编代码文件,见列表 3-1 所示。正如在前一章中提到的,这三个 文件虽然都是汇编程序,但却使用了两种语法格式。bootsect.s 和 setup.s 采用近似于 Intel 的汇编语言语法,需要使用 Intel 8086 汇编编译器和连接器 as86 和ld86,而 head.s 则使用 GNU 的汇编程序格式,并且运行在保护模式下,需要用 GNU 的 as转载 2014-03-04 10:49:06 · 3129 阅读 · 0 评论 -
start.S进一步、更详细的、深入的解释和分析 2013.04.26更新(一)
转自:http://zqwt.012.blog.163.com/blog/static/1204468420133265554635/ 注意:l 2013年4月26日星期五更新(有些解释说明不明确的地方做了补充,错误的地方做了修正)l 本文中粉红色标记的为start.S汇编代码正文;l 软件版本为uboot-1.1.6#include l config.转载 2014-03-04 15:20:36 · 1181 阅读 · 0 评论 -
各种initcall的执行先后顺序(module_init、postcore_initcall、arch_initcall、subsys_initcall、 fs_initcall)
转自:http://blog.youkuaiyun.com/fenzhikeji/article/details/6860143转载 2014-10-20 10:46:49 · 1381 阅读 · 0 评论