机器人行业应用解决方案

Arm启动流程解析

2023-10-30 00:55:17 机器人行业应用解决方案

       

  2、2440、6410、210当下很常见的3款处理器的启动流程进行简单分析,通过这三款处理器的分析希望我们大家掌握arm处理器的启动分析。

  在我看来bootloader的作用是初始化必要的硬件,引导内核启动。(当然这是最大的作用,今天的重点不在bootloader,所以在我后面的博文会继续谈到的)

  在分析启动流程的时候我们将会使用的文档是三星公司提供的芯片手册,通过手册我们搞清楚芯片的启动。

  在分析启动流程之前我们第一步要清楚不论是arm的何种处理器,其都是从0x0 0地址处开始执行程序的。下面的分析我将会通过三个方面:1、芯片支持的启动方式2、地址布局3、启动流程

  由上图可知,S3C2440支持两种启动模式:NAND和非NAND(这里是Nor Flash),具体采用的方式取决于OM0、OM1两个引脚的状态。

  我们知道arm从0地址出运行代码那么我们的零地址处到底存放的是啥东西呢?我们通过地址布局图来分析

  从上图我们大家可以清楚的看到左边的是从Nor Flash启动的地址布局,右边是从NAND启动的地址布局,因为Nor Flash内可以运行程序,所以我们在放bootloader的时候放在0地址处即可,所以我们重点分析从NAND启动。

  我们从地址布局图中能够正常的看到,当我们从NAND启动的时候0地址处是BootSRAM(又叫做stepping stone垫脚石),当我们上电时其会做以下事情

  1.上电后处理器自动将nandflash前4KB的内容到boot sram开始执行(由硬件完成)。

  2.通过bootsram(即刚才进来的4k)来初始化相关硬件和寄存器从而访问nandflash,接下来把剩余的bootloader到内存(SDRAM/DRAM)中,当stepping stone里面的4KB执行完以后跳转到内存继续执行,完成系统的启动。

  从上图我们大家可以看到6410支持的启动方式比较多有SROM(Nor Flash)启动,oneNAND启动,IROM(IROM是处理器内部的固件/存储器,但不是stepping stone)启动。其中IROM中又有sd卡、NAND,我们大家可以配置相应的管脚去选择其启动方式。

  从上图我们大家可以发现在0地址处是一个镜像区,不放置任何设备,当我们最终选择不同的启动方式的时候,其通过映射关系将对应的设备映射到镜像区域。比如我们最终选择从IROM启动其就会将IROM映射到该区域。

  假设我们从NAND启动,从启动方式中我们大家可以知道从NAND启动是属于从IROM启动的,所以当我们上电的时候其会做以下事情:

  3.BL1将剩下的BL2拷进内存,当BL1执行完以后跳转到内存继续执行,完成系统的启动。

  假设我们从NAND启动,从启动方式中我们不难得知从NAND启动是属于从IROM启动的,所以当我们上电的时候其会做以下事情:

  引言 由于种种原因,公交车总是不断重复加速—减速或停车—再加速的过程。通过加装本节能装置,当汽车需要制动时,在主控单元的控制下,可将汽车行驶时具有的巨大动能通过空气压缩机转化成高压气体的势能并储存起来,以此来实现汽车减速或停车。当汽车需要启动或加速时,用储存起来的高压气体势能代替燃油来驱动汽车,以此来实现汽车能量的回收再利用,达到节能的效果。同时由于汽车在起动或加速时能耗最大,如果汽车是用燃油驱动,则此时油料燃烧不充分,燃烧效果最差,而且产生的噪音最大。 系统工作原理 本系统主要由三部分所组成,即检测部分,控制部分和执行机构。检测部分包括踏板位置传感器、曲轴位置传感器、压缩机活塞位置传感器、汽车工作速度传感器、储气罐压

  前不久ARM正式公开宣布推出新款ARMv8架构的Cortex-A50处理器系列新产品,以此来扩大ARM在高性能与低功耗领域的领头羊,进一步抢占移动终端市场占有率。Cortex-A50是继Cortex-A15之后的又一重量级产品,将会直接影响到主流PC市场的占有率。围绕该话题,我们今天不妨总结一下近几年来手机端较为主流的ARM处理器。 以由高到低的方式来看,ARM处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A12处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、

  内核全解析 /

  1 数据段和代码段的作用 IAR C/C-+编译器是一种具有世界领先水平的标准C/C-+编译器,支持符合ANSI C标准的C或C++编程语言。源程序经编译后生成包含数据或代码存储器逻辑映像的数据段和代码段。每个段都有一个段名和一个表示其存储器空间的段类型。段类型CODE表示ROM中的执行代码,段类型CONST表示ROM中的数据,段类型DATA表示RAM中的数据。段名可与段类型相同,但其意义不一样,实际使用时不能混淆。表l所列为IAR C/C++编译器所使用的各种段、段类型及其读/写属性说明。 1.1 数据段 数据位于DATA段中,包括静态(static)存储器、堆栈(stack)、堆(heap)以及已定位的数据。DATA段可

  ARM公司自2004年推出ARMv7内核架构时,摒弃了以往 ARM+数字 这种处理器命名方法(ARM11之前的处理器统称经典处理器系列),重新启用Cortex来命名,并将Cortex系列细分为三大类: Cortex-A系列:面向性能密集型系统的应用处理器内核 Cortex-R系列:面向实时应用的高性能内核 Cortex-M系列:面向各类嵌入式应用的微控制器内核 Cortex-M系列主要是用来取代经典处理器ARM7系列(比如基于ARMv4架构的ARM7TDMI),Cortex-M比ARM7的架构高了3代,性能也有较大提升,所以新的设计推荐使用Cortex-M,关于从ARM7到Cortex-M的移植详见ARM官网指导 ARM7

  -Cortex系列的关系 /

  NANDFLASH NAND写回速度快、芯片面积小,特别是大容量使其优势显著。页是NAND中的基本存贮单元,一页一般为512B(也有2kB每页的largepageNANDFLASH),多个页面组成块。不同存储器内的块内页面数不完全一样,通常以16页或32页很常见。块容量计算公式最简单,就是页面容量与块内页面数的乘积。根据FLASHMemory容量大小,不同存储器中的块、页大小可能不同,块内页面数也不同。例如:8MB存储器,页大小常为512B、块大小为8kB,块内页面数为16。而2MB的存储器的页大小为256B、块大小为4kB,块内页面数也是16。NAND存储器由多个块串行排列组成。实际上,NAND型的FLASHMemor

  9内核Processor外部NANDFLASH的控制实现 /

  本文探讨Linux操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。 这个部分比较有意思。因为在BIOS阶段(相当与嵌入式ARM Linux的 bootloader),计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎能定制所有方面。所以,这个部分与程序员的关系更密切。 我主要关心的是Linux操作系统,它是目前服务器端的主流操作系统。下面的内容针对的是Debian发行版,因为我对其他发行版不够熟悉。 第一步、加载内核 操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。 以我的电脑为例,/boot 目录下面大概是这

  应用于高能效电子科技类产品的首要高性能硅方案供应商安森美半导体(ON Semiconductor,美国纳斯达克上市代号:ONNN)推出用于精密测量及监测的混合信号微控制器(MCU新系列)的首款产品Q32M210。高集成度Q32M210设计用于便携感测应用,基于ARM Cortex-M3处理器构建而成,独特地结合了高精度性能、可预测工作及优异的电源能效。 高精度感测 Q32M210特别设计用于要求高精度的便携感测应用。这器件集成了2个16位模数转换器(ADC)、高精度电压参考、3个10位数模转换器(DAC)和32位内核。超低噪声(ADC)提供线位性能,不同于非线性和噪声可能减少有效位数的常规转换器。 可

  9月14日,日本软银集团旗下的英国芯片设计公司 Arm Holdings 正式在美国纳斯达克挂牌上市,发行股票代码为“ARM”,定价为51美元/ADS(美国存托股份),股价开盘后上涨10%至56.10美元/ADS。截至首日收盘,Arm股价上涨24.69%,报63.59美元。若以收盘价计算,Arm上市首日市值为652.48亿美元,若包括限制性股票单位在内,Arm完全摊薄后的估值接近680亿美元。这一数值接近2016年9月日本软银集团将其收购的320亿美元的交易价的2倍。 根据IPO文件,AMD、苹果、Cadence、谷歌、英特尔、联发科的附属实体、英伟达、三星电子、新思科技、台积电等基石投资者,分别表示有兴趣购买Arm总计7.35亿

  体系结构与编程_(杜春雷)

  嵌入式系统开发-软件设计与优化_(美国)

  SoC体系结构_(英国)

  Cortex-M3权威指南_(英国)

  有奖直播报名| TI 专为汽车应用设计的低功耗、低成本新型 MSPM0 MCU

  MPS 隔离式稳压 DC/DC 模块——MIE系列首发,邀你一探究竟!

  【下载】LAT1317 STM32CubeProgrammer和STM32CubeIDE协同调试的方法

  【下载】LAT1298 基于Azure USBx开发USB_OTG_HS MSC应用的几个问题

  【下载】LAT1306 使用STM32CubeIDE填充未用FLASH区域

  【视频】使用STM32cubeMX与STM32PackCreator的最初步骤

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  【下载】AN5609 基于STM32WB系列新产品开发Zigbee智能能源(SE)应用

  【下载】RM0490 STM32C0x1 Arm®32位MCU参考手册

  【下载】UM2986 STM32U5系列IEC 60730自测试库用户指南

  【AI】意法半导体发布安全软件,保护STM32边缘AI设备连接AWS IoT Core的安全

  【新品】意法半导体微控制器STM32H5探索套件加快安全、智能、互联设备开发

  0 引言对于基于flash控制器的8051的芯片结构,一般在进行数据传输时,都是先通过串口将数据传送到flash控制器的buffer中。由于buffer的大 ...

  高速微控制器大范围的使用在便携式设备。通过正确使用电源管理模式,设计人能优化当今新系统中使用的电池的常规使用的寿命。本应用笔记探讨了通过选 ...

  8051单片机有两个独立的16位向上计数定时器,名为Timer0和Timer1,本文是关于使用8051定时器生成时间延迟。使用纯软件循环可以生成延迟,但 ...

  如何将直流电机连接到8051单片机?在本文中,主要有8051单片机+DC电机系统两个部分。首先是带有控制电机所需程序的8051单片机,其次是合适 ...

  说明本应用笔迹介绍了MAX6900 I²C兼容RTC (实时时钟)与8051微控制器(µC)之间的连接方式,并提供了用于基本接口的程序代码。本范例中所 ...

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程

首页
机器人
案例
联系