完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,大家好。我是一名中级嵌入式系统工程师,试图将项目从 STM32F4/7 系列过渡到 NXP I.MX RT 595。到目前为止,我一直依赖文档和提供的示例(出色的,荣誉 NXP -特别是提供 CMakes,与 arm gcc 一起使用)让我在不到一周的时间内轻而易举地移植了 70% 以上。
全面披露——我对 NXP 产品或 SDK 没有那么丰富的经验(大约一周前第一次接触开发板),我正在尝试使用 HASHCRYPT + DMA 进行加密。 我只打算加密对齐的缓冲区(被4个字整除,不超过8064个字,以免超过11位MEMCTRL寄存器。 到目前为止,我有以下工作流程: 1. 我设置适当的寄存器(初始化序列、设置密钥、iv、长度等)。 2.实际加密 // THIS IS BASICALLY COPY - PASTE FROM THE hashcrypt_aes_one_block FUNCtiON HASHCRYPT->MEMADDR = HASHCRYPT_MEMADDR_BASE(plainAes128); HASHCRYPT->MEMCTRL = HASHCRYPT_MEMCTRL_MASTER(1) | HASHCRYPT_MEMCTRL_COUNT(size / 16U); while (size >= HASHCRYPT_AES_BLOCK_SIZE) { /* Get result */ while (0U == (HASHCRYPT->STATUS & HASHCRYPT_STATUS_DIGEST_MASK)) { } memcpy(outputEncrypted, (uint32_t*)HASHCRYPT->DIGEST0, 16); idx += HASHCRYPT_AES_BLOCK_SIZE / 4U; size -= HASHCRYPT_AES_BLOCK_SIZE; } HASHCRYPT->CTRL &= ~(HASHCRYPT_CTRL_MODE_MASK); 3. 取消初始化模块。 根据我的想象,为了使用 DMA,我应该使用 DMA 通道将数据从外设复制到输出缓冲区。 让我伤心的是我应该如何准确地配置 DMA。我认为 DMA 控制器需要轮询 HASHCRYPT-> STATUS,然后将数据实际复制到目的地。 |
|
相关推荐
1个回答
|
|
2. 我填充输入缓冲区(大小为4字节的倍数),并在输出缓冲区中为输出预留相应的空间。
3. 我将相应的HASHCRYPT配置为AES CBC加密模式,并将加密密钥和初始化向量(IV)加载到适当的密钥寄存器中。 4. 我初始化DMA,设置输入和输出缓冲区,并启动DMA传输。 5. 我等待DMA传输完成,并在输出缓冲区中获取加密后的数据。 但是,在执行第4步时,我的代码会崩溃,并显示错误“Hard Fault”。我已经仔细检查了我的DMA配置,但无法找到任何问题。任何想法或建议吗?谢谢! |
|
|
|
只有小组成员才能发言,加入小组>>
1906个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36358 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4395 浏览 0 评论
6050 浏览 1 评论
6763 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4212 浏览 0 评论
619浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
614浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
606浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
796浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:40 , Processed in 0.965051 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号