RT-thread 环境下使用 HASH hwcrypto 配置使用底层硬件HAH库问题记录

本文详细介绍了如何为STM32F4微控制器启用并配置硬件HASH模块,包括使用CubeMX工具进行初始化设置、修改配置文件、添加必要的编译选项等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,使用hwcrypto 需要使用env 工具配置该选项,这里使用的是SHA1

 2,scons --target=mdk5后可以看到驱动已经配置,但是要想使用,对于stm32f4,还需要在cubemx里面打开添加编译选项

 

 然后重新生成代码。可以看到相应代码已经生成

 

 

3,还需在board\Kconfig文件中添加编译选项

config BSP_USING_HASH
        bool "Enable use hash arithmetic"
        select BSP_USING_HASH
        default n 

 4,然后发现相关定义还是无法加载进来,需要做如下配置

首先,需要在stm32f4xx_hal_conf.h文件中打开编译选项

#define HAL_HASH_MODULE_ENABLED   

然后libraries\STM32F4xx_HAL\SConscript文件,加入如下内容

import rtconfig
from building import *

# get current directory
cwd = GetCurrentDir()

# The set of source files associated with this SConscript file.

src = Split('''
CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cec.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cryp.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cryp_ex.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hash.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_hash_ex.c

STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rng.c
STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c
''')
   ... ...

path = [cwd + '/STM32F4xx_HAL_Driver/Inc',
    cwd + '/CMSIS/Device/ST/STM32F4xx/Include',
    cwd + '/CMSIS/Include']

CPPDEFINES = ['USE_HAL_DRIVER','HASH']
group = DefineGroup('Libraries', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)

Return('group')

4,完成修改后,重新scons --target=mdk5,这时会在MDK环境的Options for ...C++选项卡里多出了一项HASH定义

 5,重新编译:

 经搜索得知

 用CubeMX生成STM32F417VGT6的配置,

 生成工程后打开文件

 

 

 原来问题出在这里,我板子MCU是STM32F407VGT6硬件HASH库不支持407系列的,415、417、437、439、479可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aping_cs_dn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值