ARM裸机开发bootloader我是bootloader设计师

发布者:genius6最新更新时间:2016-06-07 来源: eefocus关键字:ARM  裸机开发  bootloader 手机看文章 扫描二维码
随时随地手机看文章
一、bootloader设计蓝图

1、什么是bootloader

如果说系统内核是航天飞机的话,那么bootloader就是助推器,它带动了内核。在内核启动之前它要做许多硬件的初始化操作,来适合系统的安全启动。

2、bootloader设计方法-模仿

90%的设计从模仿开始,模仿加入自己的想法就是设计。bootloader的模仿我们一般会参照行业老大uboot。

3、uboot简介

uboot可以支持多种嵌入式cpu,例如X86、ARM、MIPS

还可以支持多种嵌入式操作系统,例如wince、linux、vxworks、QNX

uboot分为自主模式和开发模式:自主模式下,uboot的运行不需要人的参与,这往往也是产品模式。

开发模式是供开发人员使用,对uboot进行修改,来适应自己的需要。

4、uboot的查看

我们一般会使用sourceinsight来查看相对比较大的程序,它可以自动定位函数位置。这方便了我们的查找。

二、ARM的启动流程

为什么要关心ARM的启动流程

这是因为软件的设计要遵循硬件的要求。满足硬件的一些要求。

主要从三个方面进行介绍:1、启动方式  2、地址布局  3、启动流程

几点说明:一上电,处理器会从0地址开始读取指令并执行。  Nandflash不参与统一编址。

2440:

1、启动方式:Norflash   Nandflash

2、内存地址从00x30000000开始

3、启动流程(来自手册):s3c2440A boot code can be executed on an external NAND flash memory. In order to support nand flash bootloader, the s3c2440A is equipped with an internal SRAM buffer called "steppingstone". When booting, the first 4 KBytes of the NAND flash memory will be loaded into steppingstone and the boot code loaded into stippingstone will be executed.

Generally, the boot code will copy NAND flash content to SDRAM. the main program will be executed on the SDRAM.

6410: 

1、启动方式:SROM、OneNAND、MODEM、IROM(NAND、SD)

2、bootloader的起始地址0x0C000000, 之前的为internal ROM。0地址处为映像区。DRAM起始地址为0x50000000.

3、a、iROM supports initial boot up : initialize system clock, D-TCM, device specific controller and booting device.

b、iROM boot codes can load 4KB of bootloader tostepping stone. The8 KBbootloader is called BL1.

c、BL1:BL1 can initialize system clock, UART, and SDRAM for user. After initializing, BL1 will load remaining boot loader which is calledBL2on theSDRAM

d、Finally, jump to start address of BL2. That will make good environment to use system.

210:

1、启动方式:同6410

2、地址布局:0地址处为Boot area,内存地址从0x20000000开始。

3、启动流程:a、iROM can do initial boot up : initialize system clock, device specific controller and booting device.

b、b、iROM boot codes can load boot-loader to SRAM. The boot-loader is called BL1. then iROM verify integrity of BL1 in case of secure boot mode.

c、BL1 will be executed: BL1 will load remained boot loader which is called BL2 on the SRAM then BL1 verify integrity of BL2 in case of secure boot mode.

d、BL2 will be executed: BL2 initialize DRAM controller then load OS data to SDRAM

e、finally, jump to start address of OS. that will make good environment to use system.

三、Uboot 工作流程分析

1、程序入口

2、第一阶段程序分析

3、第二阶段程序分析

也就是上面谈到的BL1和BL2,这两部分也是要我们自己来编写的部分。BL0厂家已固化在硬件中,就不需要我们自己编写了。

2440

1、查看两个文件

1、uboot下的Makefile

  2、uboot/board/samsung/smdk2440/uboot.lds下查看代码段首文件,ENTRY标明程序入口(链接器脚本),start.S(cup/s3c24XX/start.o(.text))。

2、BL1分析(入口start.S 中 _start)

使用source Insight

分析/cpu/s3c24XX/start.S

提示:start.S中设置堆栈为c语言做铺垫。

1、设置中断向量表

2、设置处理器为SVC模式

3、刷新I/D cache

4、关闭mmu和cache

5、初始化系统时钟

6、初始化串口

7、简单初始化nand flash

8、进行内存初始化

9、nand flash中的bl到内存

10、设置堆栈

11、清除bss段

3、BL2分析(入口start_armboot)

1、初始化串口

2、LCD初始化

3、初始化网卡

4、初始化LED

5、执行用户输入命令(死循环,一直等待用户的使用)

6410同2440几乎有同样的工作,不过执行的先后顺序和方式不同。而210是新版本的U-boot,它的BL1、BL2分别产生了两个.bin文件。它有厂家固化的irom,BL1被到iram中,BL2被到内存中。    

三、Bootloader架构设计

在进行设计之前,我们遵循的原则:尽量归类整理,分阶段去完成。还就是要尽早的使用c语言这样编程比较简单些。下面是思维导图:

ARM裸机开发bootloader我是bootloader设计师

关键字:ARM  裸机开发  bootloader 引用地址:ARM裸机开发bootloader我是bootloader设计师

上一篇:ARM裸机开发bootloader内存初始化
下一篇:ARM裸机开发bootloader—点亮LED灯

推荐阅读最新更新时间:2024-03-16 14:56

ST Ericsson:智能设备新时代需要新ARM
合作伙伴间的差异化合作将继续成为ARM商业模式的主要驱动力,而Cortex-A15 MPCore处理器的推出正是ARM与其主要授权合作伙伴三星、ST Ericsson 和德州仪器共同合作的结果。这三家合作伙伴对处理器的定义起到了关键的推动作用,确保了Cortex-A15能够应对行业所面对的重要挑战。 ST Ericsson 战略规划高级副总裁Edgar Auslander表示:“我们已经进入了智能设备的新时代,无线计算解决方案带给更多的消费者3D导航、扩增现实、高清视频拍摄、高速宽带和其他先进性能,实现我们对于一个无所不连的世界的愿景。在我们开拓性地将调制解调器和应用引擎集成到了一个基于双核Cortex-A9 处理器
[焦点新闻]
英伟达收购Arm:美国也表示担忧,中国还没启动反垄断审查
据CNBC报道,英伟达近日正式发布了公司最新一季度的财报。财报显示,公司在刚过去的季度收入为71.0 亿美元,同比增长 50%。英伟达表示,预计截至 1 月的本季度财报将达到约 74 亿美元,高于分析师预期的 68.6 亿美元。 在谈营收的时候,他们还披露了一些关于Arm收购的进展。 正如我们此前报道,英伟达正在收购英国核心移动半导体技术供应商 Arm。针对这个交易,欧盟委员会上个月开始对该交易进行深入调查。 日前,英国宣布对该交易启动国家安全调查。 但英伟达周三表示,它仍然相信其对 Arm 的拟议收购将使这家英国芯片设计公司的客户和整个行业受益。这家美国芯片制造商的言论是在周三晚些时候与华尔街分析师举行的电话会议
[半导体设计/制造]
Arm发布新款Cortex-A65AE处理器 可与Cortex-A76AE结合实现感知功能
据外媒报道,Arm于近日发布了最新版的“增强版车用级芯片(Automotive Enhanced chips)”,Arm Cortex-A65AE是一款高带宽、低延迟的处理器,旨在安全地应对车用级传感器数据的高通量(high-throughput)要求。 随着车辆自动化程度提升,摄像头、雷达及激光雷达等负责采集数据的传感器数量将随之大幅提升。同时,车内的座舱也将随之提升,增强现实显示屏、安全警示及高精度地图将为驾驶员提供跟我给详尽的实时数据。为及时地将该类数据交付给驾驶员,用户需要提升硬件的安全信息处理水平。 Arm Cortex-A65AE将通过多线程处理功能(multithreading capability)及Arm
[汽车电子]
Arm架构之Arm内核解析
 Arm 架构已经主导了当今嵌入式处理和计算市场,但在过去的几十年里,Arm 架构却走过了漫长的道路。从20世纪80年代开始,它起初是作为家用电脑处理器,然后在20世纪90年代成为手机芯片的基础。如今,在几乎所有技术细分市场,Arm都是一个强有力的竞争者。许多人认为,Arm 架构已成为 32 位或 64 位处理器的首选。由于这种广泛应用,现在已经有成千上万种基于Arm架构的变体。了解这些内核彼此之间的不同是做出选择决策的重要一环。   早在 2004 年,最初的 Cortex 家族就使 Arm架构分化为三个内核产品组,每个产品组都针对不同类型的应用。最早集成到芯片的是Cortex-M,它已成为基于Arm微控制器(MCU)生态系
[单片机]
<font color='red'>Arm</font>架构之<font color='red'>Arm</font>内核解析
基于ARM11的IMX35车载信息娱乐模块的开发
  车载信息娱乐系统(In-Vehicle Infotainment 简称IVI),是采用车载专用中央处理器,基于车身总线系统和互联网服务,形成的车载综合信息处理系统。IVI能够实现包括三维导航、实时路况、IPTV、辅助驾驶、故障检测、车辆信息、车身控制、移动办公、无线通讯、基于在线的娱乐功能及TSP服务等一系列应用,极大的提升的车辆电子化、网络化和智能化水平。 车载信息娱乐系统在汽车驾乘的舒适度上起到了决定性的作用,从而使得汽车娱乐系统在近些年得到了飞速发展。其中不仅有用户对多媒体娱乐的要求在逐步增高;而且由于汽车电子软硬件技术的不断发展,也使得各种各样的汽车娱乐系统应用实现成为可能。通过铜缆发送音频数据的简单音频系统已
[单片机]
基于<font color='red'>ARM</font>11的IMX35车载信息娱乐模块的<font color='red'>开发</font>
关于ARM的异步总线和同步模式
快速总线模式: 在快速总 线模式,GCLK来自于BCLK,FCLK输入被忽略。这意味着BCLK被用来控制AMBA ASB接口和内部的ARM920T处理器核。复位时,ARM920T进入快速总线模式,操作使用BCLK。一般快速总线模式在启动代码时执行,然后由软件 配置PLL产生高频的FCLK。在PLL稳定后可以切换ARM920T到同步或异步时钟,使用FCLK进行操作。 小结: 1.GCLK=BCLK,FCLK被忽略 2.板子reset之后即进入该模式 3.该模式的典型应用是执行启动代码,同时软件配置PLL,使得FCLK更高 4.nF=0且iA=0 同步模式: 在这个操作模式GCLK来自于BCLK或FCLK。但是对于BCLK和FC
[单片机]
新一代RISC微处理器ARM11的特点及关键技术
ARM11系列微处理器是ARM公司近年推出的新一代RISC处理器,它是ARM新指令架构——ARMv6的第一代设计实现。   该系列主要有ARM1136J,ARM1156T2和ARM1176JZ三个内核型号,分别针对不同应用领域。   本文将对全新的ARMv6架构进行介绍,并深入分析ARM11处理器的先进特点和关键技术。 ARMv6结构体系   实现新一代微处理器的第一步就是订立一个新的结构体系。这里所说的结构体系只是对处理器行为进行描述,并不包括具体地指定处理器是如何被建造的。结构体系的定义提供了处理器和外界(操作系统,应用程序和调试支持)的接口,从细节上说,处理器结构体系定义了指令集、编程模式和最近的存储器之间的接
[其他]
新一代RISC微处理器<font color='red'>ARM</font>11的特点及关键技术
Nordic Semiconductor 与 Arm 扩展合作关系
签署最新低功耗处理器设计、软件平台和安全 IP 许可协议 Nordic签署 Arm Total Access 授权许可协议,确保其现有和未来的多协议、Wi-Fi、蜂窝物联网和DECT NR+ 产品具备业界领先的处理器和安全技术 挪威奥斯陆 – 2024年2月20日 – Nordic Semiconductor宣布与世界领先的半导体设计和软件平台企业Arm签署一项多年期Arm Total Access (ATA)授权许可协议 。ATA 保证为Nordic当前和未来的产品 (包括多协议、Wi-Fi、蜂窝物联网和 DECT NR+ 解决方案) 提供广泛的Arm® IP、工具、支持和培训。 两家企业的合作始于 2012
[物联网]
Nordic Semiconductor 与 <font color='red'>Arm</font> 扩展合作关系
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved