Skip to main content
david2399
Associate II
August 22, 2014
Question

Undefined symbol error - no compile

  • August 22, 2014
  • 2 replies
  • 1400 views
Posted on August 22, 2014 at 06:05

Hello,

I load several example projects unmodified into Keil and compile as soon as I enter. When the project enters the linking phase, I get an error that HAL_DMA_Init is an undefined symbol, and the project won't compile.

Is there any reason for this? This happens with UART, I2C, and SPI examples right out of the box before I have a chance to modify.

This is on the STM429I-Discovery\Examples software.

The specific issue is ''not enough information to list image symbols''.

Thanks

David Bassett
    This topic has been closed for replies.

    2 replies

    frankmeyer9
    Associate III
    August 22, 2014
    Posted on August 22, 2014 at 13:07

    I load several example projects unmodified into Keil and compile as soon as I enter. When the project enters the linking phase, I get an error that HAL_DMA_Init is an undefined symbol, and the project won't compile.

     

    Perhaps another version of uVision, and less-than-perfect project import.

    Adding the corresponding source file to the project should correct this issue.

    However, I wouldn't be surprised if more such trouble follows.

    david2399
    david2399Author
    Associate II
    August 23, 2014
    Posted on August 23, 2014 at 04:06

    Hello,

    I have an update here which solved the problem. It appears the issue tracked everything which had DMA in it, and when I diffed my version of  stm32f4xx_hal_dma.c with the original, The WHOLE function definition in the Keil project was gone from the function definition to the end brace.

    I figure the odds of inadvertently highlighting and deleting a function right from the definition to the ending brace are like one in a billion, I assume Keil version 5.10 had something to do with this, but I don't know how.

    When I replaced the function back into hal_dma.c, things worked fine again.

    Dave Bassett