2021-04-27

使用冷启动电路来实现微瓦能量的收集 能量收集可以提供足够的能量,以消除电池的需要,同时保证连续运行数年甚至数十年。然而,对于可穿戴设备和物联网应用程序来说,可用的环境源可能会产生低于电路阈值的转换电压水平。对于这些设计,工程师可以应用一些方法来冷启动低功率DC/DC转换器,甚至可以使用集成的冷启动功能找到电源管理ICs (PMICs)。使用这些低电压的启动方法和设备,工程师可以确保设备的运行,即使是微弱的环境能量来源。   从环境 阅读详情

微处理器冷启动方式

概述

MPU(Micro Processing Unit,微处理器)和MCU(Micro ControlUnit,微控制器)芯片的启动可以分为冷启动和热启动。

冷启动也称上电启动,一般是接通电源后芯片的第一次启动。冷启动时,系统的易失存储(片上RAM、片上寄存器,片外DDR,片外RAM等等)处于不确定状态。启动需要完成加电、自检、硬件初始化等操作。

热启动是指处理器芯片在运行过程中重新启动系统,可以是一次有准备的软件复位,也有可能是系统保护机制触发的预料外的热启动操作)。如果是有准备的软件复位,关键的易失性存储可能已经完成初始化。

本文档主要关注MPU/MCU类芯片的冷启动方式。

冷启动类型

MCU/MPU类产品由于应用场景多样化,因此通常需要提供多种启动方式供用户选择。不同产品供用户选择启动方式的方法是不同的,本文档将启动选择方式分为三类:类型I是硬件冷启动,硬件通过启动管脚的配置,从不同的启动区域/介质开始执行程序,开始启动过程;类型II是软件冷启动,芯片固定从内部存储rom区域启动,软件通过管脚选择,执行不同的启动分支程序,由启动分支区分启动介质等;类型III是混合型冷启动,这是以上两类的混合型,即硬件通过启动管脚配置从内部存储rom区域启动,然后再通过相关管脚配置,软件执行不同的启动分支程序。

以上启动类型对于特定产品可以是变化的。例如出于代码安全因素或者方便应用内编程等因素,通常支持类型III启动的产品,可以通过OTP的配置,转化为固定介质启动或类型I或类型II的启动方式。

类型I启动选择

飞腾/FT-2000A/2

FT-2000A/2是飞腾公司的双核高性能嵌入式微处理器产品,兼容64位ARM V8指令系统,主频达到1GHz,片上存储包括32K字节的一级指令Cache,32K字节的一级数据Cache,1M字节的二级Cache。

由于没有合适的片上存储存放启动代码,FT-2000A/2采用类型I启动选择,支持SPI和LBC两种启动方式,通过spi_lbc_select管脚进行选择。

  1. spi_lbc_select管脚为0时,从spi启动
  2. spi_lbc_select管脚为1时,从lbc启动(lbc:局部总线接口,支持EPROM,flash EPROM,可突发RAM和其他外部设备等。地址和数据线复用)

Loongson/LS2K1000

LS2K1000是龙芯中科公司的双核高性能嵌入式微处理器产品,采用40nm工艺,片内集成2个GS264核,与MIPS64体系结构兼容,主频1GHz,64位DDR3控制器。,片上存储包括32K字节的一级指令Cache,32K字节的一级数据Cache,共享1M字节的二级Cache。

LS2K1000采用类型I启动选择,支持LIO/SPI/SDIO/NAND四种启动方式,通过SYS_BOOTSEL[1:0]管脚进行选择。

  1. SYS_BOOTSEL=00时,从LIO启动(LIO: LocalIO,提供简单外设访问接口,主要用于连接系统启动ROM。)
  2. SYS_BOOTSEL=00时,从SPI启动。
  3. SYS_BOOTSEL=00时,从SDIO启动。
  4. SYS_BOOTSEL=00时,从NAND启动。

Loongson/LS2H

LS2H是龙芯中科公司的单核安全适用领域微处理器产品,采用65nm工艺,片内集成1个GS464核,主频1GHz,64位DDR2/3控制器。,片上存储包括64K字节的一级指令Cache,64K字节的一级数据Cache,共享512K字节的二级Cache。

LS2H采用类型I启动选择,支持LPC/SPI/NAND三种启动方式,通过NAND_WR/SPI_SCK/SPI_CSn管脚进行选择。

  1. NAND_WR=1时,从NAND启动。
  2. {SPI_SCK,SPI_CSn}=00时,从NAND启动。
  3. {SPI_SCK,SPI_CSn}=10时,从LPC启动。
  4. {SPI_SCK,SPI_CSn}=x0时,从SPI启动。

类型II冷启动

Samsung/S5PC110

S5PC110是三星公司的2010年左右的32位微处理器,针对移动电话和通用领域,内建Cortex-A8处理器,支持ARM V7-A结构,32/32K字节I/D 一级cache,512K字节二级cache,主频1GHz。内建64K字节iROM,96K字节iRAM。芯片启动时,会从片内ROM区域的irom代码开始执行,然后irom会从如下设备中选择启动

  1. NAND flash
  2. SD/MMC
  3. eMMC
  4. eSSD memory
  5. UART或者USB设备
  6. OneNAND(三星的存储技术)
  7. UART
  8. USB

S5PC110的iROM程序通过内部熔丝(efuse)决定采用安全启动或者正常启动。

下图为S5PC110的bootloader和OS的启动过程示意

下图为S5PC110的boot code的流程图。

ST/STM32MP157A

ST产品主要以MCU为主,最近几年开始推出MPU产品。现在MPU全系列产品包括的STM32MP151x/153x/157x若干产品。均采用类型II的启动选择方式。以STM32MP157A为例,该产品内建双核32bit的ARM Cortex-A7处理器,32K/32K字节的I/D一级cache,共享256K字节的二级cache。内部集成128K字节安全启动ROM,708K字节内部RAM。芯片启动时,会从片内ROM区域的代码开始执行,然后结合OTP、内部寄存器和外部管脚状态等因素,从如下设备中选择启动:

 

 

从内部的ROM开始,ROM的代码启动过程

 

 

TI/AM437x启动

TI公司的AM437X微处理器采用32位Cortex-A9处理器核,主频1GHz。MPU子系统集成32K字节数据cache和指令cache;256K字节二级cache(也可配置成三级RAM);256K字节片上Boot ROM;64K字节片上RAM。

启动模式在上电reset期间,锁存住启动管脚的值,作为配置信号。启动管脚SYSBOOT[17:0]中包括8位的BOOTMODE,用来选择启动介质和10位的MCU_BOOTMODE,用来选择启动的时钟频率和备选启动设备。

  1. Bootrom
  2. QSPI

类型III冷启动

ST/STM32F373xx

ST公司的STM32F373XX是一款MCU产品,使用Coretex-M4处理器核,主频72MHz,CoreMark分数245分,片上集成64KB~256KB的用户flash存储,16KB~32KB的SRAM,和一段系统存储(sytem memory)区域。

启动时,通过BOOT0管脚和BOOT1选择以下三种启动设备启动。

  1. 片上flash的User Flash部分,这种模式是芯片正常工作的时候使用的启动模式。
  2. 系统存储,该部分预设了boot loader,可以从USART1,USART2,USB通过DFU(device firmware upgrade)功能升级用户固件。第二种模式可以在升级系统固件的时候使用。由于操作繁琐,需要改变boot管脚的值,并且需要硬重启,所以并不是经常使用。还有一种场景是用户下载错了user flash,系统变砖了,可以通过该模式重写user flash。不同的MCU中bootloader功能不尽相同,有些还可以支持从I2C,SPI等接口升级用户固件。
  3. 片上SRAM,这种模式一般在软件开发调试阶段使用,可以避免反复擦写flash。

这种启动方式是ST公司中低端MCU中最常用的启动方式。常见的STM32F1xx,STM32F3XX均采用这种启动方式。

ST/STM32F779XX

片上16K数据cache,16K指令cache,最大2MB的片上用户flash存储,512K字节的SRAM(包括128K字节DTCM+16K字节ITCM+4K字节低功耗备份RAM),灵活的外部存储(包括SRAM,PSRAM,SDRAM,NOR,NAND等)控制和一段系统存储(sytem memory)区域。

启动时,通过BOOT管脚和BOOT_ADDX寄存器选择,可以指定系统的入口地址。包括

  1. ITCM或者内部片上flash,或者外部接口上的FLASH地址
  2. 系统存储,该部分预设了boot loader,功能类似上述章节。
  3. RAM地址(ITCM,DTCM,片上RAM或者外部接口上的SRAM等)

F779的启动方式比较更灵活,只需一个boot引脚。但是一个引脚只能区分出两个状态,为了解决这个问题,专门配套了两个option bytes选项字节配置,如此以来就可以方便设置各种存储器地址了。

Boot模式选择

BOOT区域

Boot引脚

Boot地址

0

BOOT_ADD0[15:0]

启动地址由BOOT_ADDR0定义,默认值0x0800,对应flash首地址0x0800_0000

1

BOOT_ADDR1[15:0]

启动地址由BOOT_ADDR1定义,默认值0x1FF0,对应系统bootloader首地址0x1FF0_0000

BOOT_ADD0和BOOT_ADD1对应32位地址的高16位。设置了选项字节后,掉电不会丢失,下次上电或者复位后,会根据BOOT引脚状态从BOOT_ADD0,或BOOT_ADD1所设置的地址进行启动。

如果用户不慎,设置的地址范围不在有效的存储器地址,那么BOOT = 0时,会从Flash首地址0x0800 0000启动,BOOT = 1时,会从ITCM首地址0x0000 0000启动。

      如果用户使能了Flash Level 2保护,那么只能从Flash地址空间进行启动。

 

 

小结

类型I的启动是在片上没有固化的bootrom时采用的方式。该方式优点是比较灵活,可以将bootrom的引导程序放在片外存储上,方便用户修改;缺点是相对类型II和类型III,解决成本相对较高,安全性相对来说较弱,无法做到安全启动的目的。

       类型II的启动一般是芯片应用非常确定的领域。

       类型III的启动是最多MPU采用的方式。在三种方式中最灵活。

MCU冷启动vs热启动区别详解:以ESP32为例看电源管理设计 本文深入解析了MCU冷启动与热启动的核心差异,以ESP32为例详细介绍了电源管理设计。通过对比启动流程、数据持久化方案及外设状态恢复技巧,帮助开发者优化物联网设备的电源管理,显著提升续航表现和用户体验。 阅读详情

相关推荐

MIKE水动力笔记8_冷启动与热启动

在【MIKE水动力笔记5_建立水动力模型】中,讲到【Step 2 设置模型参数】中的【Initial Conditions】时,提到了冷启动与热启动。本博文就详细讲解何为冷启动、热启动,并通过一个案例具体分析两者不同。...

晏长街的博客 6568

单片机的冷启动、热启动、复位

特点: 复位可以是软件复位(由程序执行的复位指令)或硬件复位(通过外部信号或者特定的硬件电路触发)。与冷启动和热启动不同,复位更专注于将系统恢复到一个可控制的状态,而不需要进行完全的系统关闭和重新启动。总的来说,冷启动是从完全关闭的状态重新启动,热启动是在系统保持某些状态的情况下重新启动,而复位是在运行中将系统恢复到初始状态的过程。特点: 与冷启动不同,热启动中系统的某些部分可能保持原有状态,而不需要完全重新初始化。定义: 复位是指在系统运行过程中,由于某种原因,需要将系统恢复到初始状态的过程。

创世纪GENESIS 5706

CS231n+assignment2(一)

cs231n作业二详解+代码

qq_56551150的博客 2411

冷启动和热启动

冷启动是指在计算机关机状态下按机箱上POWER按钮启动。也就是切断电脑的电源,重新启动,一旦冷启动,内存的东西全部丢失,重新检测硬件,进入CMOS,再依启动操作系统。 热启动是指在电脑已经加电的情况下,同时按下Ctrl、Alt 和Del 键,此时将重新启动机器。它通常是在电脑运行中出现“死机”,即按任意键都没有反应时使用。 电脑热启动和冷启动的区别: 1、热启动是在不断电状态下进行计算机...

于大博 6191

Visual SLAM算法笔记

最近在学习SLAM算法,这里作为阅读笔记记录和总结一下。对经典的单目SLAM/VO算法做了摘要和总结,比如Nister VO、MonoSLAM、PTAM、ORB-SLAM、LSD-SLAM、SVO、DSO等,对几个单目和IMU的融合算法也做了简单总结,比如MSCKF、OKVIS、IMU-Preintegration等。

MulinB的技术博客 3万+

01-FreeSWITCH 的安装、部署、配置以及可能遇到的问题和解决方法

一文让您了解从FreeSWITCH 的安装、部署、配置、可能遇到的问题及解决方法。一切从实际项目出发,以工程应用为目的。

秋风的博客 2127

excel中2015/1/27 怎么转成20150127 20210404 怎么转回2021/04/04

IFERROR(TEXT(DATE(...), "yyyy/mm/dd"), "日期无效"):确认单元格中的日期是Excel可识别的日期格式(而非文本)。结果为文本格式,确保单元格格式未自动转换为数值。,公式将直接返回文本“20150127”。:将日期格式化为“年/月/日”的文本格式。:将年、月、日组合为Excel日期值。公式需根据数据类型调整(数值或文本)。转为文本,确保月份和日期为两位数。:从第5位开始提取2位(月份)。:提取最后2位(日期)。),但需进一步设置格式。为包含原日期的单元格。

u013928175的专栏 493

5分钟搞定单细胞marker基因气泡图:scDotPlot保姆级教程(含Seurat适配)

本文提供了一份详细的scDotPlot R包使用教程,帮助用户在5分钟内完成单细胞marker基因气泡图的绘制。教程涵盖环境准备、Seurat和SingleCellExperiment对象的适配处理、进阶可视化技巧及自动化报告生成,特别适合生物信息学新手和临床研究者快速掌握这一高效的可视化工具。

weixin_29047545的博客 261
haveidea
博客等级 码龄19年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值