Thread 中讨论的其他器件:SYSBIOS
工具与软件:
您好!
我想从外部存储器添加密钥来存储密钥。 我查阅了参考手册文档、并决定使用"12.7.4.2.1从外部存储器中加载密钥"部分。 但是、这些寄存器是加密寄存器、因此无法直接访问。 根据"12.5.6关键区域寄存器"部分的了解、只能通过 DMA 更改这些寄存器。 在这种情况下、我遇到了一个错误、并且可能是这个错误与未 正确配置 DMA 有关。 那么正确配置 DMA 的方法是什么呢? 下面显示了伪代码。
12.7.4.2.1从外部存储器中加载密钥
伪代码中的以下软件示例介绍了主机软件通常为将一个或多个密钥加载到密钥存储模块中而执行的操作。
//配置主控制模块
写入 ALGSEL 0x0000_0001 //启用到密钥存储模块的 DMA 路径
写入 IRQCLR 0x0000_0001 //清除任何未处理的事件
//配置密钥存储模块(区域、大小)
写入密钥大小0x0000_0001 // 128位密钥大小
写入 KEYWRITEAREA 0x0000_0001 //启用密钥进行写入(例如密钥0)
//配置 DMAC
写入 DMACH0CTL 0x0000_00001 //启用 DMA 通道0
写入 DMACH0EXTADDR //外部存储器中密钥的基地址
写入 DMACH0LEN //以字节为单位的密钥总长度(例如16表示1 x 128位密钥)
//等待完成
等待 IRQSTAT[0]='1'//等待操作完成
检查 IRQSTAT[31:30]=‘00'//检查 DMA 和密钥存储中是否没有错误
写入 IRQCLR 0x0000_0001 //确认中断
写入 ALGSEL 0x0000_0000 //禁用主控制/DMA 时钟
//检查状态
检查 KEYWRITTENAREA 0x0000_00001 //检查是否写入了密钥0
//算法结束
我期待着你的回应。
谢谢。