[求助]关于cc2430AES和DMA之间的问题

电源   2007-11-14 09:37 楼主
cc2430有个写好的样例程序,里面AES的主函数里面包含如下两个函数:
aes_main()
{
aes();   仅仅是AES加密,把明文分成16bit,设置加密模式等等,没有设涉及到任何DMA的设置问题
aesdma();  AES加载密钥、加密时的DMA数据配置结构等等的设置
}

    为什么AES加密和DMA的设置分开来呢?不是应该先设置DMA数据配置结构等,然后加载KEY ,再设置DMA数据配置结构等,加载IV,最后设置DMA数据配置结构等,加密么?
    这样分开来行得通么?为什么啊?

回复评论 (4)

    按照cc2430提供的样例程序,cc2430就知道什么时候加载密钥和KEY,什么时候加密了么?DMA的那些设置就能和加载密钥、KEY、加密对应起来了么?
点赞  2007-11-14 09:39
AES加密模块

DMA数据传送模块

两个不相关的模块分开初始化有什么问题呢?
呵呵

至于什么时候加密模块工作

那是你通过DMA把数据送入BUF然后启动加密模块

工作完成,交收DMA把密文送到你指定的地方后
中断通知你一下.这个时候加密结束

至于其它的东西什么时候做,那都是程序控制的哈
点赞  2007-11-14 10:04
    不是很明白你说的。他们分开初始化这个没问题,但是当设置了两条DMA通道准备加密的时候,那个例子程序仅仅是把开始加密的那一位设置成1,cc2430难道知道调用那个AES加密的程序么?
点赞  2007-11-14 10:22
    还有一个问题是,样例程序上加载KEY的时候,没有给他一个DMA通道。难道加载KEY不需要通过DMA通道把密钥传给AES么?否则怎么让KEY进入AES模块呢?
点赞  2007-11-14 10:27
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复