这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » PSOC6、PSOCCreator4.4和PDL3.1.7加密导致CM4挂起怎么

共2条 1/1 1 跳转至

PSOC6、PSOCCreator4.4和PDL3.1.7加密导致CM4挂起怎么解决?

工程师
2024-02-14 16:40:37     打赏

我的项目使用的是 PSOC 6、PSOC Creator 4.4 和 PDL 3.1.7。 CM0P 正在运行 BLE 和 MCWDT。 CM4 正在运行几个 SCB、ADC、MCWDT、PDM_PCM 和 DMA。
我需要生成真正的随机数,所以我刚刚添加了加密初始化序列,如示例项目 CE221295 中所示


***************************** 代码开始********************************************
/* 启动加密服务器*/
Cy_Crypto_Server_Start(CryptoConfig、Cr   

/*加密驱动程序的初始化*/
Cy_Crypto_Init( CryptoConfig、Cry  

/* 启用加密硬件 */
Cy_Crypto_Enable ();

/* 等待 Crypto Block 可用*/
Cy_Crypto_Sync(CY_CRYPTO_SYNC_BLO
********************************* 代码结束********************************************

这导致我的 CM4 内核在 Cy_Crypto_Server_Start 之后立即挂起。cy_syslib_ProcessingFault 无法运行,所以我想没有发生硬故障,但是 cm4 已完全关闭。 尽管我将优先级设置为 0,但 cm4 MCWDT 也没有引发任何中断。

奇怪的是(对我来说),如果我在 cm0p 上删除 MCWDT 的初始化,cm4 不会挂起并完成完整的初始化过程并运行主循环。 如果我使用 CyDelay 在 cm0p 上将 MCWDT 初始化延迟 10 秒,那么加密初始化就好了,cm4 会一直运行到 cm0p MCWDT 初始化然后 cm4 立即挂起(崩溃?)。

如果我将加密货币转移到cm0p,则没有问题。 如果必须的话,我可以随时通过IPC从cm0p请求一个随机数,但是由于我需要cm4上的随机值,所以我想在那里运行加密货币。 另外,我想知道问题出在哪里。




关键词: PSOC     Creator     PDL     CM4    

助工
2024-02-14 16:40:55     打赏
2楼

1) 确保已经正确配置了加密硬件模块。检查并确保在PSoC Creator的加密组件配置中正确选择了硬件模块。

2) 确保加密硬件模块的初始化序列正确。检查并确保使用正确的初始化序列来初始化加密硬件模块。

3) 确保在CM4运行的同时没有其他冲突任务。如果CM4运行多个任务,并且其中一个任务导致CM4挂起,则可能需要重新评估任务的优先级和资源使用情况。确保为每个任务提供足够的资源和适当的优先级。

4) 检查是否存在其他硬件资源冲突。如果CM4和其他硬件模块(如ADC、MCWDT、PDM_PCM和DMA)之间存在硬件资源冲突,可能需要进行一些配置更改来解决冲突。

5) 使用调试工具(如PSoC Creator的调试器)来检查CM4挂起的具体原因。通过设置断点和跟踪代码的执行路径,可以更详细地了解挂起的原因。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]