如何在nrf5340的TF-M IPC Zephyr镜像中启用Cryptocell-312
启用nRF5340上的Cryptocell-312加速器(TF-M IPC场景)
问题根源
DT_HAS_ARM_CRYPTOCELL_312_ENABLED无法在Zephyr menuconfig中直接修改,是因为Cryptocell-312属于安全外设,其控制权归TF-M安全固件所有,必须先在TF-M配置中启用该硬件,Zephyr非安全侧的相关配置才会解锁生效。
具体操作步骤
修改TF-M安全固件配置
找到Zephyr工程内的modules/tee/tfm/config/nrf5340_cpuapp/ConfigCoreIPC.cmake文件,添加或修改以下配置项:set(TFM_CRYPTO_HW_ACCELERATOR ON CACHE BOOL "Enable Crypto hardware accelerator") set(TFM_CRYPTO_ACCELERATOR_OTP_STATE PROVISIONED CACHE STRING "OTP state for accelerator")配置Zephyr侧加密驱动
在tfm_ipc示例应用目录下创建或修改prj.conf文件,添加以下配置:# 启用Cryptocell驱动 CONFIG_CRYPTO=y CONFIG_CRYPTO_CC312=y # 启用TF-M Crypto服务(IPC模式依赖) CONFIG_TFM_CRYPTO=y重新构建并烧录
执行构建命令:west build -p always -b nrf5340dk_nrf5340_cpuapp_ns samples/tfm_integration/tfm_ipc/烧录命令保持不变:
nrfjprog -f nrf53 -r --program built_images_nrf5340/tfm_ipc/tfm_merged.hex
验证方式
可以在应用中添加基础加密操作(如AES加密),通过日志输出或操作返回值确认Cryptocell是否被调用;也可查看Zephyr启动日志,若出现CC312 crypto accelerator initialized字样,则说明启用成功。
内容的提问来源于stack exchange,提问作者Guang Chen
相关产品推荐
相关产品推荐

