Ch06-RstBoot(k60中文)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章复位和启动
6.1 简介
MCU支持的复位源有:
表6-1 复位源
除了EzPort和MDM-AP复位之外,每个系统复位源在系统复位状态寄存器(SRSH和SRSL)都有相应的位。
详见模式控制器一章。
EZP_引脚决定的功能模式下选择单片(默认)模式或串行flash编程MCU在CS
(EzPort)模式而退出复位状态。
详见启动选项。
6.2 复位
此部分讨论基本的复位机制和复位源。
一些引发复位的模块可以配置为触发中断。
参见各独立外设章节获取更多信息。
6.2.1 上电复位(POR)
当给MCU上电或提供的电压低于上电复位重置电压(V POR)时,POR电路会触发POR 复位。
当电压升高时,LVD电路保持MCU处于复位状态直到电压大于LVD低电压阈值(V LVDL)。
POR复位后SRSL寄存器的POR和LVD位亦重设。
6.2.2 系统复位
MCU复位是一种可以使芯片回到初始状态的方法。
系统复位起始于全面监管的片上调节器和来自于内部参考的系统时钟发生器。
当芯片退出复位时,它按如下顺序操作:·从中断向量表0偏移开始读取开始SP(SP_main)
·从中断向量表4偏移开始读取PC
·LR设置为0xFFFF_FFFF
片上外设模块和非模拟IO引脚最初都被置为禁止。
复位之后模拟引脚被默认为相应的模拟功能。
复位时,JTAG相应的输入引脚被配置为:
·TDI上拉(PU)
·TCK下拉(PD)
·TMS上拉
相应的输出引脚被配置为:
TDO既不上拉也不下拉
注意到nTRST初始被配置为禁止的,然而一旦被配置为JTAG功能时,它的相应输入引脚被配置为:
·nTRST上拉
6.2.2.1 外部引脚复位(PIN)
RESET是一个专用引脚。
该引脚开漏和内部上拉。
RESET将芯片从任何模式唤醒。
在该引脚复位时,SRSL[PIN]被置位。
6.2.2.1.1复位引脚过滤
RESET引脚在所有的模式中都支持数字过滤。
对于LLS和VLLSx模式,LLWU提供了一个可选的运行在LPO时钟为1kHz的数值过滤器。
过滤操作详见LLWU章节。
在非低漏操作中,用于RESET引脚过滤的有两个可选的时钟—1KHzLPO时钟和总线时钟。
RESET引脚过滤在SIM逻辑中实现,每个时钟源包含单独的过滤器。
在Stop和VLPS 操作中,此逻辑由选择的的过滤模式决定切换到旁路操作或继续过滤操作。
这里有一些定义的模式—详见SIM模块的SOPT6寄存器描述。
SOPT6[RSTFLTEN[2:0]]和SOPT6[RSTFLTSEL[4:0]]域控制所需的功能。
每个过滤器复位成POR、LVD后,能从VLLS 唤醒。
每个过滤器的复位值都是OFF。
LPO过滤器的过滤值计数固定是3。
输入信号有一个2个周期的同步信号。
这样,从高到低或从低到高的转换需要5个周期。
当LPO过滤禁止时,LPO过滤器的初始化值是OFF (逻辑1)。
当总线过滤没有使能时,总线过滤器的初始化值是OFF(逻辑1)。
当总线过滤使能时,总线过滤的过滤计数值由SOPT6[RSTFLTSEL[4:0]]控制。
6.2.2.2 低电平检测(LVD)复位
当给芯片提供可变电压,芯片的低电平检测系统可以保护内存和控制MCU系统状态的。
系统由上电复位电路(POR)和低电压检测(LVD)电路组成。
对于低电压检测(LVD)电路,用户可选检测电压(高电压(V LVDH)或低电压(VL VDL))。
选择LVDSC1[LVDV]位即可选择不同的检查电压。
LVD系统在正常运行、等待和停止模式下总是保持使能。
LVD系统在VLPx、LLSx和VLLSx模式下总是保持禁止。
详细信息参考电源管理控制器(PMC)章节。
通过设置LVDSC1[LVDRE],LVD可以在检测到低电压条件时产生复位。
当产生LVD 复位时,LVD系统使MCU处于复位状态直到供应的电压大于LVD低电压阈值。
LVD复位或POR时SRSL[LVD]位被置位。
6.2.2.3 COP看门狗复位
看门狗定时器通过软件周期性通信监视系统的操作,通常是服务(或更新)看门狗。
如果没有定时刷新,看门狗将产生一个系统复位。
COP复位导致SRSL[COP]位被置位。
6.2.2.4 低漏唤醒(LLWU)复位
LLWU最多有16个外部引脚、RESET引脚和高达7个内部外设。
LLWU可以从LLS 和VLLSx电源模式唤醒MCU。
LLWU只在LLS和VLLSx电源模式下有效。
这两个模式中,通过RESET引脚退出LLS模式、通过唤醒或复位事件退出VLLS模式。
模式控制器模块
中的SRSL[WAKEUP]位在上一次的系统复位之前被置位,用来指示低漏模式被激活。
使用RESET引脚触发MCU退出LLS或VLLS模式,同时SRSL[PIN]亦被置位。
详见模式控制
器章节。
系统复位后,LLWU会保持标识上一次的唤醒源的标志直到用户清除它们。
注意
LLWU中引脚唤醒和错误条件标志会自动被清除,外设模块中的模块唤醒标志则需要手动清除。
详见各个外设模块说明。
6.2.2.5 多用途时钟发生器时钟丢失(LOC)复位
MCG包含一个时钟监视器。
当满足以下条件时,时钟监视器复位芯片:
·时钟监视器使能(MCG_C6[CME]=1)
·MCG的外部参考频率需在预期的频率范围以外。
MCG_C2[RANGE]位决定预期频率范围由。
MCG_SRSL[LOC]位置位可指示错误。
6.2.2.6软件复位(SW)
NVIC应用中断和复位控制寄存器的SYSRESETREQ位置位时会产生一个软件复位。
(参见ARM’s NVIC文档寄存器详细说明,尤其VECTKEY位域说明)。
置位SYSRESETREQ 可产生软件复位请求。
除了调试模块,软件复位能重设系统大多数模块。
软件复位时SRSH[SW]位被置位。
6.2.2.7 锁定复位(LOCKUP)
LOCKUP会立即表明严重错误的内核软件错误。
锁定复位是内核被锁的结果。
因为,处理器的内置系统状态保护硬件被激活后产生不可恢复的错误时。
LOCKUP导致系统复位,亦使SRSH[LOCKUP]位被置位。
6.2.2.8 EzPort复位
通过EzPort信号,EzPort模块支持系统复位请求。
EzPort通过EzPort接口在芯片复位(RESET)命令执行之后产生系统复位请求。
flash存储器在外部编程后,此种复位方法允
许芯片从flash存储器在启动。
可以通过EZP_CS引脚来设置EzPort是否使能。
6.2.2.9 MDM-AP系统复位请求
通过设置MDM-AP控制寄存器中的系统复位请求位能初始化系统。
通过JTAG接口,此复位方式是的主要复位方法。
直到该位被清除,系统复位才停止。
通过设置MDM-AP控制寄存器中的内核保持复位位会保持内核处于复位状态。
6.2.3 调试复位
以下部分详细介绍芯片的调试复位。
6.2.3.1 JTAG复位
当选择某些IR代码时,JTAG模块产生一个系统复位。
当EzPort、EXTEST、HIGHZ 和CLAMP指令被激活时,会产生功能复位。
当选择其他的IR代码时,JTAG模块的复位源无效。
JTAG复位导致SRSH[JTAG]位置位。
6.2.3.2 nTRST复位
当触发时,nTRST引脚引发JTAG逻辑复位。
触发nTRST引脚允许调试器控制TAP控制器状态机(离开LLS或VLLSx之后)而不用重置调试模块状态。
nTRST引脚不能引发系统复位。
6.2.3.3复位调试子系统
通过设置SWJ-DP CTRL/STA T寄存器的CDBGRSTREQ位来复位调试模块。
然而,使用CDBGRSTREQ不能复位所有调试相关的寄存器。
CDBGRSTREQ位能够复位的下列模式的调试相关寄存器有:
•SWJ-DP
•AHB-AP
•ETM
•A TB replicators
•A TB upsizers
•A TB funnels
•ETB
•TPIU
•MDM-AP (MDM控制和状态寄存器)
•MCM (ETB 几乎全满逻辑)
CDBGRSTREQ位不能复位的调试相关寄存器有:
•CM4 内核(内核调试寄存器: DHCSR, DCRSR, DCRDR, DEMCR)
•FPB
•DWT
•ITM
•NVIC
•交叉总线开关
•AHB-AP
•私有的外设总线
6.3启动模块
这部分简介启动序列,包括时钟源和选择项。
6.3.1 启动源
芯片只支持内部flash启动方式。
任何第二启动源需通过flash的初始序列来进行启动。
6.3.2 启动选项
在复位,EzPort芯片选择(EZP_CS)引脚的状态决定芯片的功能模式。
芯片可以处于单芯片(默认)和串行flash编程(EzPort)模式。
当处于单芯片模式时,芯片可以处于电源模式转换章节提及的正常或各种低功耗模式。
表6-2. 模式选择解码
6.3.3 FOPT启动选项
flash存储器模块(FTFL)的flash选项寄存器(FOPT)允许用户自定义MCU在时间启动的操作。
这个寄存器包含从flash配置域的NVM选项字节载入的只读位。
用户可以重新编写flash的选项字节来改变用于随后复位的FOPT值。
详见flash存储章节。
MCU使用FTFL_FOPT寄存器位在复位时配置芯片。
表6-3. Flash选项寄存器(FTFL_FOPT)位定义
6.3.4启动顺序
在上电时,片上调节器会保持芯片处于POR状态直到输入电压高于POR阈值。
系统会持续这个静止状态直到内部调节电压达到LVD决定的安全操作电压。
模式控制器复位逻辑控制退出复位的顺序。
1. 系统复位保持在内部逻辑,RESET引脚输出为低,在默认的时钟模式MCG使能。
2. 需要的时钟使能(内核时钟、系统时钟、flash时钟和任何没有时钟门控制的总线时钟)。
3. 内部逻辑的系统复位持续保持,但是flash控制器从复位和开始初始化操作状态退出,并在模式控制逻辑持续驱动RESET引脚输出不大于128总线时钟周期。
4. RESET引脚被释放时,内部逻辑的系统复位仍被保持直到flash控制器结束初始化操作。
当内部复位被释放时,如果EZP_CS在为低,则EzPort模式将代替正常的CPU执行
模式。
通过编程设置FTFL_FOPT[EZPORT_DIS],可以禁止EzPort模式。
注意:如果通过LLWU_P3唤醒引脚(PTA4/FTM0_CH1/NMI/EZP_CS)从VLLS1,2或者3恢复,则要使用LLWU的上升沿唤醒或者禁止EzPort模式来确保正常的恢复。
5. 当flash初始化完成,RESET引脚将被监视。
如果RESET持续触发(RESET引脚的一个短暂上升沿或者外部驱动为低),系统继续保持复位状态。
一旦检测RESET引脚
的电平为高,系统将退出复位状态。
6. 在复位结束时,如果FTFL_FOPT[LPBOOT]配置为低功耗启动时,时钟切换到低频。
7. 当系统退出复位时,处理器初始化堆栈,程序计数器(PC)和连接寄存器(LR)。
处理器从中断向量表0偏移读取SP(SP_main)。
内核从中断向量表4偏移读取PC。
LR设置为0xFFFF_FFFF。
CPU开始转到PC位置执行。
EzPort模式被锁住时,芯片进入EzPort 模式而不是正常CPU执行模式。
8. 如果FlexNVM使能,flash控制器继续存储FlexNVM的数据。
在复位结束时,该数据不能立即读出且系统也不能访问该数据直到flash控制器如EEERDY所标志的完成初始化步骤。
子系统复位接在以上系统时钟有效的复位后面。