嵌入式技术论坛
直播中

h1654155272.9717

9年用户 1261经验值
擅长:电源/新能源
私信 关注
[问答]

SRAM进行初始化找不到这三个函数是什么原因

从cubeMx上生成了MX_FSMC_Init()的初始化代码,
拷贝到board.c中进行初始化时.
就会出现找不到下图的函数。

1.jpg

回帖(9)

刘超

2022-11-23 09:36:37
开一下HAL 的配置,stm32f4xx_hal_conf.h,把RAM相关的模块开起来,HAL_SRAM_MODULE_ENABLED,HAL_NOR_MODULE_ENABLED,等。

并且把相关的HAL文件,也包含进来。stm32l4xx_ll_fmc.c, stm32l4xx_hal_nor.c等。
举报

h1654155272.9717

2022-11-23 09:36:47
这个是HAL_SRAM_Init() 内部的错误,也就是HAL库里面的错误。难道我要修改HAL库包含stm32l4xx_ll_fmc.h??这个不现实吧。
举报

刘超

2022-11-23 09:36:57
这个是你工程里,HAL lib库包含问题。提示你缺少HAL库文件。把相关的HAL库文件(如stm32l4xx_ll_fmc.c)等,添加到工程!!
举报

h1654155272.9717

2022-11-23 09:37:05
首先 HAL库和LL库 在RT-Thread Studio 创建工程的时候,就已经全部加载到工程libraries里面了。其次 stm32l4xx_ll_fmc.c 这文件在库里面是不存在的。只有.h。
举报

刘超

2022-11-23 09:37:16
stm32f4xx_ll_fsmc.c
stm32f4xx_ll_fmc.c
stm32f4xx_hal_nor.c
bspstm32librariesSTM32F4xx_HALSTM32F4xx_HAL_Driver
找找看,你用的F4系列,我给的是L4,所以找不到。
举报

h1654155272.9717

2022-11-23 09:37:26
我知道,这些基础知识我还是知道的。这些文件都已经在工程中的Libraries里面了。在配置文件也开启了相应模块。这个错误是HAL_SRAM_Init() 库的内部错误。如果你可以尝试RT-Thread Studio 建立一个工程,调用HAL_SRAM_Init()去初始化SRAM看看结果。
举报

刘超

2022-11-23 09:37:37
建立了,需要手动配置Kconfig, 增加

#define BSP_USING_EXT_FMC_IO
这样导入:stm32f4xx_hal_sram.c 即可。

建议先裸机跑起来,找到所需的文件,然后,查看 SConscript,把需要的宏配置上,即可解决文件包含问题。
举报

h1654155272.9717

2022-11-23 09:37:46
要配置Kconfig 你应该不是 RT-Thread Studio 创建的。RT-Thread Studio是没有Kcofig的。

已经解决了, 下载最新的HAL库替换就好了。
举报

李莉

2022-11-23 09:38:04
碰到类似问题,将CubeMX生成的MDK工程DriversSTM32H7xx_HAL_DriverSrc目录下的stm32h7xx_ll_fmc.c文件COPY到rt-studio工程目录
librariesSTM32H7xx_HAL_DriverSrc下,重新编译即可。
举报

更多回帖

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