bootload详细分析——废铁是怎么产生价值的
1.首先从硬件层面对板子启动的初始化过程进行详细分析
2.然后分析最新uboot的代码架构,怎么编译一个特定开发板的uboot.bin 和 uboot_spl.bin等
3.最后将uboot的执行过程和裸机程序进行对比讲解,说明uboot是怎么将板子一步一步带起来的
奔跑的路
这个作者很懒,什么都没留下…
展开
-
移植uboot-2015-10(一)
移植uboot-2015.10.rc1(一)开发板: friendly arm 2440 工具: Win7 + VMware + ubuntu U-boot版本: u-boot-2015.10.rc1 GCC版本: gcc version 4.3.3随着uboot版本的不断更新,现在的版本和以前的相比有不少的变化,在代码原创 2015-09-30 14:00:33 · 12770 阅读 · 7 评论 -
(7)uboot详解——初始化SDRAM
(7)uboot详解——初始化SDRAM在开始这篇文章之前,我们先回顾一下(1)uboot详解——板子刚上电时都干了些什么,不管板子是从nandflash启动还是从norflash启动,它的开始代码都不是在SDRAM中运行的,要么在stepping stone中运行,要么在norflash中运行,但是stepping stone的4k片上内存显然是不够的,而且norflash可读不可写的特原创 2016-01-03 16:35:11 · 13201 阅读 · 2 评论 -
(6)uboot详解——关闭缓存和mmu
uboot详解——关闭缓存和mmu当设置完时钟分频以后,uboot就会执行cpu_init_crit汇编函数,这个函数的主要作用就是关闭缓存和mmu,然后调用lowlevel_init函数进行系统总线的初始化。为什么启动的时候,需要关闭缓存和mmu呢?我们先了解一下他们的作用。缓存是主存(内存)和CPU通用寄存器之间设置的一个高速的、容量相对较小的存储器,把正在执行的指令地址附近的原创 2016-01-01 11:49:09 · 6271 阅读 · 0 评论 -
(5.3)uboot详解——PWM定时器(番外)
这篇文章是一些拓展内容,如果想了解uboot的启动过程,可以先跳过本章,如果需要掌握一些编写裸机程序或者内核与计时器相关的驱动的知识,可以了解一下。PWM定时器1.概述脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中——原创 2015-12-24 15:31:02 · 2783 阅读 · 0 评论 -
(5.2)uboot详解——省电模式(番外)
(5.2)uboot详解——省电模式(番外)这篇文章将对uboot的省电模式进行分析原创 2015-11-27 10:19:45 · 2255 阅读 · 0 评论 -
(5.1)uboot详解——时钟分频
(5)uboot详解——时钟分频如果cpu是计算机的大脑,电流是计算机的血液,那么时钟则是计算机的心脏,时钟频率决定了处理器运算的快慢,它的每一次“跳动”都驱动着处理器不停的执行命令。不同的是,人的各个部位心率是一样的,但计算机却有多个频率,而且每个部位可能有不同的频率,比如“大脑”有一个频率,“手“有一个频率,“脚”使用的是另外一个频率,这样就产生了两个问题:怎么产生这些不同的频率?处理器怎原创 2015-11-22 10:53:28 · 4460 阅读 · 0 评论 -
(4.3)uboot详解——异常和异常向量
(4.3)uboot详解——异常和异常向量前面两节分析了外部中断和内部中断相关的内容,这篇文章对处理器的异常情况作一个总结。可以参考第二片文章(处理器工作模式),ARM处理器有七种工作模式,除了用户模式和系统模式以外,其他5中模式都是异常模式。人们都会生病,生病时我们可以依靠我们的免疫系统恢复过来,计算机也会“生病”,它“生病”的时候就会进入异常工作模式,依靠异常处理程序让cpu恢原创 2015-11-20 15:10:11 · 4385 阅读 · 3 评论 -
(4.2)uboot详解——外部中断(GPIO)
看ARM 处理器的芯片原理图,除了一些特殊的外接功能引脚外,GPIO引脚占了绝大部分。GPIO是General Purpose Input Output (通用输入/输出),外设都是连接到这些引脚上面的,所以可以简单的说,我们想让一个处理器实现什么样的功能,直接依赖于对GPIO寄存器的操作。原创 2015-11-13 09:01:02 · 4600 阅读 · 1 评论 -
(4.1)uboot详解——内部中断
(4)uboot详解——我需要中断一下,去干点别的事情原创 2015-11-12 13:38:12 · 6021 阅读 · 0 评论 -
(3)uboot详解——饿了么,我们来喂“狗”吧
uboot启动时,当将cpu运行模式设置为管理模式后,就要关闭看门狗了,那么看门狗是干什么的呢?狗狗是我们的好朋友,有时候,一条好狗狗能够救主人的性命,”看门狗“是cpu的“好朋友”,它也能够在cpu出状况的时候把它救活。看门狗其实就是一个可以在一定时间内被复位的计数器,当看门狗启动后,计数器开始自动计数,经过一定时间,cpu就会将这个计数器复位,如果没有被复位,计数器溢出就会对CPU产生原创 2015-11-09 13:53:18 · 4940 阅读 · 0 评论 -
(2)uboot详解——处理器工作模式
前面一篇文章我们了解到当开发板上电以后,会将uboot的前4k内容复制到stepping stone中运行,现在来分析这4k代码到底做了些什么。从前面一篇文章的最后一张图可以看到uboot的运行流程,当reset以后,uboot做的第一个动作就是设置cpu的运行模式,这篇文章将详细介绍cpu运行模式的相关知识。人有生老病死,如果把我们的计算机比作一个生命的话,那么它也有一个生老病死的一个过原创 2015-11-08 16:41:34 · 6001 阅读 · 2 评论 -
(1)uboot详解——板子刚上电时都干了些什么
电子产品如果没有了电,就跟废品没什么区别,是电赋予了他们生命,然而程序则是他们的灵魂。小时候一直很好奇,一个个死板的电子产品为什么一上电以后就能够工作了呢?为什么一个小小芯片就能够运行我们编写的程序呢?一个开发板从刚上电到整个操作系统能够运行起来是怎么办到的呢?这些东西困扰了好久,参考了好多资料现在才慢慢弄明白其中一些原理。我们现在接触的大多数电子产品都是使用数字电路设计出来的,数字电路的原创 2015-11-07 12:29:41 · 13807 阅读 · 8 评论