产品在设计中某些状态下需要mcu进行复位,华大mcu包含了7个复位信号来源,每个复位信号都可以让 cpu 重新运行,绝大多数寄存器会被复位到复位值,程序计数器 pc 会被复位指向 00000000。
por/bor 复位(vcc 域及 vcore 域)
外部 reset pad 复位
wdt 复位
pca 复位
lvd 复位
cortex-m0+ sysresetreq 软件复位
cortex-m0+ lockup 硬件复位
华大mcu每个复位源由相应的复位标志进行指示。复位标志均由硬件置位,需要用户软件清零。芯片复位时,如果查询到 reset_flag. por15v 或 reset_flag. por5v 为 1 则为上电复位。上电复位时用户程序应当将寄存器 reset_flag 清零,则下一次复位时可通过 reset_flag的相关比特判断复位来源。
这些复位源中cortex-m0+ sysresetreq 软件复位为主动复位,工程师可以在程序中根据自己的需要进行操作,其它的复位为被动复位,当运行的条件满足时会自动复位。下面介绍下华大mcu如何实现软件复位。
软件复位的函数包涵在core_cm0plus.h头文件中,形式为:
#define nvic_systemreset __nvic_systemreset
函数的原型为:
__static_inline void __nvic_systemreset(void)
{
__dsb(); /* ensure all outstanding memory accesses included
buffered write are completed before reset */
scb->aircr = ((0x5faul << scb_aircr_vectkey_pos) |
scb_aircr_sysresetreq_msk);
__dsb(); /* ensure completion of memory access */
for(;;) /* wait until reset */
{
__nop();
}
}
工程建立好后,工程师在使用的时候直接调用就可以,以上就是华大mcu如何实现软件复位操作流程。
Apple推出VR手套专利 可以使用户感受到VR或AR显示的对象
虫情测报灯在农业生产中的应用
阿里安全技术检出多个苹果系统高危漏洞,研究论文被国际顶会收录
它人机器人助力绵阳打造世界一流作业机器人品牌
智慧矿山ai算法原理解析系列之皮带异物算法模型详解及其应用
华大MCU如何实现软件复位
单片机正常工作的三大条件
微软推更快地安装win10的方法,速度提升6倍
面部识别硬件为何在手机上发展的这么快
南桥芯片和北桥芯片的作用
工信部发布基于LTE的C-V2X技术的车联网直连通信的工作频段
大联大推出基于英特尔NCS2神经计算棒的视觉系统方案
分享PCB线路板生产的钻孔工艺
基于FPGA的部分响应CPM信号解调器的设计
国产车规MCU“芯”力量崛起
全国首张区块链电子发票发布有什么意义?
光栅测长机测量工件外径步骤及注意事项
韩国、荷兰组建“芯片联盟”
软银宣布与 Iris Ohyama 的最新合作开发新的机器人技术
VOCS在线监测报警系统的功能特点及应用分析