Skip to main content
Associate
August 25, 2023
Question

Unable to build with USBPD

  • August 25, 2023
  • 3 replies
  • 1884 views

Hello! I am trying to build a simple project on STM32G431KBTx featuring USB PD.

I am using STM32CubeMX (latest version), all libraries, etc. are also of latest revisions. I've setup USB PD parameters via GUI, and generated code for Makefile.

When I call Make, I get these errors:

 

/lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld: build/main.o: in function `main':
~/other/Core/Src/main.c:149: undefined reference to `USBPD_DPM_Run'
/lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld: build/stm32g4xx_it.o: in function `SysTick_Handler':
~/workspace/other/Core/Src/stm32g4xx_it.c:192: undefined reference to `USBPD_DPM_TimerCounter'
/lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld: build/usbpd.o: in function `MX_USBPD_Init':
~/other/USBPD/App/usbpd.c:44: undefined reference to `USBPD_DPM_InitCore'
/lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld: ~/workspace/other/USBPD/App/usbpd.c:58: undefined reference to `USBPD_DPM_InitOS'

 

 I haven't altered the generated code at all. I've tried downgrading the libraries, altering parameters, nothing helps...

I am attaching the project file.

This topic has been closed for replies.

3 replies

ST Technical Moderator
August 27, 2023

Hello @Renha and welcome to the Community :)

Check Include Paths, check that the USB-PD stack library is well included in your project.

You can review the application in STM32CubeG4 package:STM32CubeG4/Projects/STM32G474E-EVAL/Applications/USB-PD at master · STMicroelectronics/STM32CubeG4 · GitHub

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
RenhaAuthor
Associate
August 28, 2023

Hi @Imen.D! Thank you kindly for the reply. I was sure the CubeMX should take care of all the inclusions. I found files and folders related to the PD copied to the project directory successfully, and these are also mentioned inside of the Makefile, not sure what else to check. If you would be able to check the generation for attached project file, that would be extremely helpful.

I've also tried the project at your link: downloaded it (the Sink one), opened in CubeMX, changed generation type to Makefile, and got a message "The Code is successfully generated under : [path here] Project language : C but Makefileproject generation have a problem.", with an empty directory as a result. So for my project generation "works" better than for this one.

Guenael Cadier
ST Employee
September 12, 2023

Hi @Renha 

Could you check that your project contains a usbpd_dpm_core.c object, that that this object is properly compiled and linked ?

Regards