Skip to main content
Dai chou
Associate
June 28, 2017
Solved

BSP library failed to link with HAL library

  • June 28, 2017
  • 4 replies
  • 1641 views
Posted on June 28, 2017 at 17:51

I use BSP/STM32469l-Discovery (from STM32CubeMx) , and use STM32F4xx_HAL_Driver to do a small project like this video : 

https://www.youtube.com/watch?v=u_TVAudWabI

  (I convert evaluation board from STM32F429-Disco to STM32469-Disco)

But I got some error like:

LCD_TEST\LCD_TEST.axf: Error: L6218E: Undefined symbol HAL_DSI_ConfigPhyTimer (referred from stm32469i_discovery_lcd.o).

LCD_TEST\LCD_TEST.axf: Error: L6218E: Undefined symbol HAL_DSI_ConfigVideoMode (referred from stm32469i_discovery_lcd.o).

LCD_TEST\LCD_TEST.axf: Error: L6218E: Undefined symbol HAL_DSI_DeInit (referred from stm32469i_discovery_lcd.o).

LCD_TEST\LCD_TEST.axf: Error: L6218E: Undefined symbol HAL_DSI_IRQHandler (referred from stm32469i_discovery_lcd.o).

LCD_TEST\LCD_TEST.axf: Error: L6218E: Undefined symbol HAL_DSI_Init (referred from stm32469i_discovery_lcd.o).

LCD_TEST\LCD_TEST.axf: Error: L6218E: Undefined symbol HAL_DSI_LongWrite (referred from stm32469i_discovery_lcd.o).

LCD_TEST\LCD_TEST.axf: Error: L6218E: Undefined symbol HAL_DSI_ShortWrite (referred from stm32469i_discovery_lcd.o).

LCD_TEST\LCD_TEST.axf: Error: L6218E: Undefined symbol HAL_DSI_Start (referred from stm32469i_discovery_lcd.o).

Not enough information to list image symbols.

Finished: 1 information, 0 warning and 8 error messages.

'LCD_TEST\LCD_TEST.axf' - 8 Error(s), 0 Warning(s).

It seems that

stm32469i_discovery_lcd.c cannot link to HAL(stm32f4xx_hal_dsi.c).

But In complie section , I found all require obj file create.

My stm32f4xx_hal_dsi.c version is V1.7.1

My stm32469i_discovery_lcd.c version is V2.0.0

My MDK-ARM version is V5.23

    This topic has been closed for replies.
    Best answer by Dai chou
    Posted on June 29, 2017 at 05:26

    I found the reason why BSP fail to link.

    Because it need to define symbol in preprocessor ( HAL_DSI_MODULE_ENABLED).

    4 replies

    ST Technical Moderator
    June 28, 2017
    Posted on June 28, 2017 at 18:15

    Hi

    chou.dai

    ,

    Please refer to this document, this may help you to integrate BSP library:

    https://community.st.com/0D50X00009bMM6QSAW

    Regards

    Imen

    In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
    Dai chou
    Dai chouAuthorBest answer
    Associate
    June 29, 2017
    Posted on June 29, 2017 at 05:26

    I found the reason why BSP fail to link.

    Because it need to define symbol in preprocessor ( HAL_DSI_MODULE_ENABLED).

    Chen Wei Yu
    Visitor II
    July 10, 2017
    Posted on July 10, 2017 at 16:14

    Hi , Dai chou !

    I have a problem with the STM32F469I-Discovery with the BSP LCD as your problem. And I add  HAL_DSI_MODULE_ENABLED & HAL_DMA2D_MODULE_ENABLED to the preprocessor. It resolves the problem as you described. However,it comes with the new problem 'Undefined symbol HAL_LTDCEx_StructInitFromVideoConfig (referred from stm32469i_discovery_lcd.o).'. Do you have any idea? Thx! 

    john doe
    Senior III
    July 11, 2017
    Posted on July 11, 2017 at 01:47

    you could also just uncomment the module in stm32f4xx_hal_conf.h instead of the preprocessor directives, but either way, you still need to add the .h and .c files

    STM32Cube_FW_F4_V1.16.0/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_ltdc.h and Src/stm32f4xx_hal_ltdc.c

    there's also stm32f4xx_hal_ltdc_ex.h and .c to add.

    you'll want to do this with DSI, DMA2D, LTDC, FMC [so you can use the SDRAM as frame buffer]