嵌入式技术论坛
直播中

jjll652

9年用户 1462经验值
私信 关注
[经验]

在RT-thread下使用HASH hwcrypto配置底层硬件HAH库过程记录

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

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


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

3,还需在boardKconfig文件中添加编译选项
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   
然后librariesSTM32F4xx_HALSConscript文件,加入如下内容
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可以。

原作者:aping_cs_dn

回帖(1)

李雪

2022-5-1 11:41:13
举报

更多回帖

发帖
×
20
完善资料,
赚取积分