[技术问答] 新唐NUC200 M0 内核单片机如何实现软件复位?

[复制链接]
2253|10
 楼主| 元方义城 发表于 2018-11-19 11:11 | 显示全部楼层 |阅读模式
如题,如何在程序中通过一段指令实现软件复位呢?谢谢
jasontu 发表于 2018-11-19 12:35 | 显示全部楼层
SYS_UnlockReg();
FMC->ISPCON |= FMC_ISPCON_ISPEN_Msk;
outpw(&SYS->RSTSRC, 3);//clear bit
outpw(&FMC->ISPCON, inpw(&FMC->ISPCON) & 0xFFFFFFFC);
outpw(&SCB->AIRCR, (V6M_AIRCR_VECTKEY_DATA | V6M_AIRCR_SYSRESETREQ));
qwe12377yu 发表于 2018-11-19 14:15 | 显示全部楼层

    /* Unlock protected registers */
    SYS_UnlockReg();

    SYS->IPRSTC1 = SYS_IPRSTC1_CPU_RST_Msk;

    /* Lock protected registers */
    SYS_LockReg();
dongnanxibei 发表于 2018-11-19 23:11 | 显示全部楼层
这种系统操作的,看系统的SYS的头文件啊。里面有
 楼主| 元方义城 发表于 2018-11-20 15:50 | 显示全部楼层
jasontu 发表于 2018-11-19 12:35
SYS_UnlockReg();
FMC->ISPCON |= FMC_ISPCON_ISPEN_Msk;
outpw(&SYS->RSTSRC, 3);//clear bit

谢谢
 楼主| 元方义城 发表于 2018-11-20 15:50 | 显示全部楼层
qwe12377yu 发表于 2018-11-19 14:15
/* Unlock protected registers */
    SYS_UnlockReg();

感谢
 楼主| 元方义城 发表于 2018-11-20 15:51 | 显示全部楼层
dongnanxibei 发表于 2018-11-19 23:11
这种系统操作的,看系统的SYS的头文件啊。里面有

好的
598330983 发表于 2018-11-20 19:33 | 显示全部楼层
    /* Reset CPU */
    SYS_ResetCPU();
是不是用这个函数
598330983 发表于 2018-11-20 19:37 | 显示全部楼层
void SYS_ResetChip(void);
void SYS_ResetCPU(void);
这两个分别试试看。
734774645 发表于 2018-11-22 21:55 来自手机 | 显示全部楼层
芯片复位那个啥意思
xuanhuanzi 发表于 2018-11-26 14:11 | 显示全部楼层
示例:DrvSYS_ResetCPU ( ); /* Reset CPU and FMC */

DrvSYS_ResetChip

原型:void DrvSYS_ResetChip (void);

描述:复位整个芯片,包括Cortex-M0 CPU内核和所有外围设备。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

158

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部