PSOC63 BLE 如何进行软重置?

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

你好,英飞凌:

我们发现 cyhal_system_reset_device () 可以重置 mcu,但是在 cyhal_system.c 中 我们找不到函数体,但它可以在 cyhal_system.h 中找到, 那么我们怎样才能在 PSOC63 BLE 设备中使用软重置呢? 谢谢;

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-6/How-PSOC63-BLE-Soft-Reset/td-p/678752

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @David_Zhang

请好好使用

NVIC_SystemReset();
用于软重置。

该函数在 c ore _cm4.h 下实现 在 " cmsis " 库中如下所示。
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
{
  __DSB();                                                          /* Ensure all outstanding memory accesses included
                                                                       buffered write are completed before reset */
  SCB->AIRCR  = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos)    |
                           (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
                            SCB_AIRCR_SYSRESETREQ_Msk    );         /* Keep priority group unchanged */
  __DSB();                                                          /* Ensure completion of memory access */

  for(;;)                                                           /* wait until reset */
  {
    __NOP();
  }
}

我们也可以参考 PSoC™ 63 TRM 文档的“21.2.4 软件启动的重置”部分。

MuhammadNanda_K_0-1706148986184.png

 

请告知这是否可以满足您的要求。 🙂

谢谢你,问候,
穆罕默德·南达
英飞凌科技

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-6/How-PSOC63-BLE-Soft-Reset/m-p/683109

在原帖中查看解决方案

0 点赞
4 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @David_Zhang

我正在处理你的查询。
目前,我仍在进行内部检查。

同时,你可以指 https://community.infineon.com/t5/PSoC-6/How-to-reset-system-from-CM4/td-p/243315

谢谢你,问候,
穆罕默德·南达

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-6/How-PSOC63-BLE-Soft-Reset/m-p/679446

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @David_Zhang

请好好使用

NVIC_SystemReset();
用于软重置。

该函数在 c ore _cm4.h 下实现 在 " cmsis " 库中如下所示。
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
{
  __DSB();                                                          /* Ensure all outstanding memory accesses included
                                                                       buffered write are completed before reset */
  SCB->AIRCR  = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos)    |
                           (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
                            SCB_AIRCR_SYSRESETREQ_Msk    );         /* Keep priority group unchanged */
  __DSB();                                                          /* Ensure completion of memory access */

  for(;;)                                                           /* wait until reset */
  {
    __NOP();
  }
}

我们也可以参考 PSoC™ 63 TRM 文档的“21.2.4 软件启动的重置”部分。

MuhammadNanda_K_0-1706148986184.png

 

请告知这是否可以满足您的要求。 🙂

谢谢你,问候,
穆罕默德·南达
英飞凌科技

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-6/How-PSOC63-BLE-Soft-Reset/m-p/683109

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @David_Zhang

很抱歉,这个查询还有其他问题吗?
如果你没有其他顾虑,我将在接下来的工作日结束本次讨论。 🙂

谢谢你,问候,
穆罕默德·南达

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-6/How-PSOC63-BLE-Soft-Reset/m-p/685870

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @David_Zhang

我已将答案标记为解决方案,并关闭此讨论主题。

如果您将来还有其他疑问,请随时创建新话题。 🙂

谢谢你,问候,
穆罕默德·南达

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-6/How-PSOC63-BLE-Soft-Reset/m-p/688405

0 点赞