ARM MP-core启动流程

发布者:WhisperingWinds最新更新时间:2016-07-25 来源: eefocus关键字:ARM  MP-core  启动流程 手机看文章 扫描二维码
随时随地手机看文章
1. iROM启动MP Core时,通常的做法:

  (1)让CPU0执行主要开机流程,其它的处理器进入WFI.

      (在启动时,每个处理器可以透过CPU ID得知自己是否为CPU0,如果不是,就进入WFI的程序代码中.)

       即:让AP进入Sleep

  (2) 初始化外部内存与执行系统的初始化

  (3) 设定 Stack

       在DRAM初始化前,Stack是建立在SRAM中的。

  (4) 把BootRom程序代码复制到外部内存中

  (5) 重新Mapping 内存位置

        (把0×00000000地址对应到外部内存 或 I-TCM如果 0×00000000地址要跑中断表的话(or 中断表对应到0xffff0000))

        因为,Cold Reset时为了顺利开机,把iROM映射到了0x0000 0000处.

  (6) 把第二阶段的BootLoader加载到外部内存中 or OnChip SRAM.\

  (7) 执行第二阶段的BootLoader

 

2. 如何识别当前是哪个CPU在执行

  执行时期,软件可以透过 CPU ID Register知道目前是MPCore中哪个处理器执行该程序代码,

  CPU Id储存在CP15 c0中,长度为32bits,只能在特权等级(也就是SVC Mode下)被读取,读取的范例如下程序代码所示:

  MRC p15,0,,c0,c0,5; returns CPU ID register
  31                12        11        …        8        7        …        4        3        …        0
        SBZ        Cluster ID        SBZ        CPU ID
  说明如下,
  (1) Cluster ID:

       用以支持 Multi-MPCore架构下的Cluster识别之用 (The Cluster ID field value is set by the CLUSTERID configuration pins.)

  (2) CPU ID: 视处理器的个数,例如四个处理器ID依序为 0×00,0×01,0×02与0×03

 

3. Primary Core所做的自身初始化

(1)Invalidate Data Cache
(2)Invalidate SCU(Snoop Control Unit) duplicate tags for all processors
(3)Invalidate L2 Cache
(4)Enable SCU
(5)Enable Data Cache
(6)Enable L2 Cache
(7)Set SMP mode with ACTLR.SMP. 
 

4. Non-Primary Core所做的自身初始化
   等到系统稳定后,可能会让Non BSP Core做:

(1). Invalidate Data Cache

(2). Enable Data Cache

(3). Set SMP with ACTLR.SMP.

关键字:ARM  MP-core  启动流程 引用地址:ARM MP-core启动流程

上一篇:ARM MPCore --(1)
下一篇:ARMHF(hard-float ABI for ARM)

推荐阅读最新更新时间:2024-03-16 15:01

在物联网领域,Arm扮演的角色正在起变化
对于嵌入式工程师来说,对于Arm内核编程一定有着不同程度了解,不管是基于STM32的MCU,还是树莓派的Linux开发,又或者是基于瑞芯微的安卓开发板,相信大家都玩得转。 为了加速物联网的开发,Arm在半年前推出了名为物联网全面解决方案 (Total Solutions for IoT) 的策略,除了耳熟能详的各类适用于MCU和SoC的Cortex系列IP之外,Arm还为物联网开发成本,产品研发周期,碎片化应用等给与了支持,通过高层次的综合,以简化并加速从芯片到嵌入式的开发全流程。 日前,Arm宣布了一系列关于物联网的重大革新,包括最新Corstone子系统,最新的兼顾安全、标量性能以及ML性能的Arm Cortex-M8
[物联网]
在物联网领域,<font color='red'>Arm</font>扮演的角色正在起变化
微软:ARM/Linux上网本不会被市场接受
5月底,高通和飞思卡尔展示了新的计算设备,它是基于ARM处理器和linux操作系统,它的出现,旨在挑战基于英特尔Atom处理器和微软Windowx操作系统的上网本。 微软:ARM/Linux上网本不会被市场接受 在上周的台北国际电脑展上,富士康、仁宝和纬创等PC厂商也展出了基于ARM处理器上网本,并且,电池续航时间达到18个小时。 但是,微软首席架构师雷·奥兹则表示,基于ARM处理器和Linux操作系统的上网本不会有多大作为。其称,从历史经验判断,消费者通常不会选择购买这些功能并不完整的计算机,他认为,基于X86指令集和英特尔/AMD处理器的上网本才是主流。
[手机便携]
ARM指令集和常用寄存器
1) ARM指令集 32位的 ARM指令和 16位 的Thumb指令 1,寄存器寻址 MOV R1, R2 //将寄存器R2的值传给寄存器R1 2,立即寻址 MOV R0, #0XFF00 //数据包含在指令中 3,寄存器偏移寻址 MOV R0, R2, LSL #3 //R2的值左移3位,结果放入 R0中 即 R0 = R2 * 8 LSL逻辑左移、 LSR逻辑右移、 ASL算术左移、 ASR算术右移、 ROR循环右移、RRX带扩展的循环右移 4,寄存器间接寻址 LDR R1, //将R2中的数值作为地址,取出此地址的数据保存在R1中 SWP R1,R1, //将R2中的数值作为地址 5,基址寻址 将基址寄存
[单片机]
ARMLinux s3c2440 之UART分析一
在分析ARM-Linux s3c2440中UART的时有必要先了解 s3c2440A中串口的硬件知识。也就是本文---- 硬件篇: S3c2440A串口提供三个独立的异步串行通信I/O端口(asynchronousserial I/O ports)。每一个串口均可以以普通中断方式或者DMA方式进行数据收发,采用系统时钟时,最大速率为115.2kbps.如果采用外部时钟(UEXTCLK),UART速度可以更快。每个串口包含有2个64-byte的FIFO缓存区用来发送或传输数据。 S3c2440A 串口具有可编程波特率,红外(IR)收发数据,1或者2 位的停止位(stop),5/6/7/8 位数据宽度和奇偶校验功能(parity c
[单片机]
ARMLinux s3c2440 之UART分析一
基于ARM9的无线数据终端的设计与实现
  0.引 言   随着GPRS/CDMA网络技术的逐步成熟,无线数据相关应用已经成为当前的热点应用,特别是对于电力、电信、石油、水利、地质、和交通行业中场所不固定的应用场合,由于有线网络的架设受到种种条件的限制,采用基于GPRS/CDMA的无线网络技术,具有无可比拟的优势。传统的无线数据终端一般是采用“单片机+GPRS/CDMA调制解调器”的系统结构,这种结构硬件成本略低,但功能比较有限,在协议的开发和支持上都有一定难度。而近年来,以ARM为代表的嵌入式32位微处理器技术得到了飞速发展,无论是在功耗、便携性还是在硬件成本上,许多高性能的ARM芯片已经与单片机相差无几,因此在许多工业应用设计中,使用ARM芯片取代传统的8/16位
[单片机]
基于<font color='red'>ARM</font>9的无线数据终端的设计与实现
ARM启动方式
基于ARM的芯片多数为复杂的片上系统,这种复杂系统里的多数硬件模块都是可配置的,需要由软件来设置其需要的工作状态。因此在用户的应用程序之前,需要由专门的一段代码来完成对系统的初始化。由于这类代码直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言。一般通用的内容包括: 中断向量表 初始化存储器系统 初始化堆栈 初始化有特殊要求的断口,设备 初始化用户程序执行环境 改变处理器模式 呼叫主应用程序 中断向量表 ARM要求中断向量表必须放置在从0地址开始,连续8X4字节的空间内。 每当一个中断发生以后,ARM处理器便强制把PC指针置为向量表中对应中断类型的地址值。因为每个中断只占据向量表中1个
[单片机]
选择ARM处理器,ARM7还是Cortex-M3
要使用低成本的 32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。 1.ARM实现方法 ARM Cortex-M3是一种基于ARM7v架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线)。从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。 ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低成本、低功耗的芯片。在
[单片机]
ARM的发展模式看企业的自我定位
ARM这家以设计和出售微处理器架构知识产权为盈利模式的公司,打入了无数芯片巨人和产业巨鳄的心脏部位——除了动辄百万美金的IP使用授权费,每一个采用了ARM架构的芯片还将在量产之后交纳一笔版税费用。根据ARM公司的公开资料,目前这家公司已经有187个处理器授权客户,每个客户交纳的授权费都在数十万美金左右,其中69家已经实现量产,这些 Asic芯片的版权费约为几个每分。   仅仅2006年,全世界带有ARM内核的芯片出货量达到6.2亿颗——即使每颗只要交纳几分钱的版税费用,你也可以体会聚沙成塔的含义。 为什么大家都接受这种双重收费的盈利模式?为什么几乎所有著名的芯片公司都在采用ARM架构而不担心ARM日后成为自己的心腹
[焦点新闻]
从<font color='red'>ARM</font>的发展模式看企业的自我定位
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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