2020-09-11 10:46 AM
Hello,
I dont know what is the problem, but when USB is configured in CDC mode in CUBEMX (maybe other modes also can generate the same problem, havent tested yet.) and the code is generated with CUBEMX, touchgfx code genereation will result in file omition from KEIL. There is no matter with STM32CUBEIDE since folders and files are not touched.
One suggestion: Touchgfx designer consider some standard place for user code like stm32cubemx so in the regeneration of code, user code remain untouched.
The IOC file to ease the problem regeneration is attached.
Solved! Go to Solution.
2020-09-14 05:45 AM
Thank you for the precision.
I was able to reproduce and indeed the generation deletes links to usbd_x files in the .uvprojx file.
I will investigate and transmit to the right persons. I will come back to you when a fix has been done.
Thank you for letting us know.
/Alexandre
2020-09-13 11:25 PM
Hello,
Can you elaborate what file is missing exactly ? What kind of error do you encounter ?
Also when checking the .ioc file, I noticed that the FATFS IP settings are incomplete (missing something in the Platform Settings tab).
/Alexandre
2020-09-14 12:32 AM
Thank you for your attention.
To reproduce the matter, first of all one most use keil 5.27 or above with stm32cubemx 6.0.0 and touchgfx 4.14.
Then one should produce project with stm32cubemx while usb in cdc mode and touch gfx is activated. Then generating the gui with touchgfx will remove usb cdc from project since both of them are under middleware folder. Then for fixing the issue one must regenerate the code with cubemx to solve ommition of USB_CDC middleware from project file.
The matter doesnt exist with cubeide since the files arent ommited from their directory.
2020-09-14 01:18 AM
I took your ioc file and everything is working.
Here are the steps I did :
Could you try again ?
/Alexandre
2020-09-14 04:05 AM
Dear Alexander,
The procedure is OK even in my system until you said.
Now, after the first compilation, return to Tochgfx, design some basic ui, regenerate and then you can see these errors.
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_CDC (referred from usb_device.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_CDC_RegisterInterface (referred from usb_device.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_Init (referred from usb_device.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_RegisterClass (referred from usb_device.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_Start (referred from usb_device.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_GetString (referred from usbd_desc.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_CDC_ReceivePacket (referred from usbd_cdc_if.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_CDC_SetRxBuffer (referred from usbd_cdc_if.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_CDC_SetTxBuffer (referred from usbd_cdc_if.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_CDC_TransmitPacket (referred from usbd_cdc_if.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_DataInStage (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_DataOutStage (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_DevConnected (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_DevDisconnected (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_IsoINIncomplete (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_IsoOUTIncomplete (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_Reset (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_Resume (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_SOF (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_SetSpeed (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_SetupStage (referred from usbd_conf.o).
VIDEO5\VIDEO5.axf: Error: L6218E: Undefined symbol USBD_LL_Suspend (referred from usbd_conf.o).
2020-09-14 05:45 AM
Thank you for the precision.
I was able to reproduce and indeed the generation deletes links to usbd_x files in the .uvprojx file.
I will investigate and transmit to the right persons. I will come back to you when a fix has been done.
Thank you for letting us know.
/Alexandre
2020-09-14 06:15 AM
Thank you Alexandere
It would be more great to add other gui libraries like LVGL that is really wonderful and easy to add to ST (done my self with the help of LVGL group) and readd the omitted GUI library (Emwin) to the CUBEmx project maker. This way ST will be able to defeat and remove the rival companies since they provide no similar support (LIKE STM32CUBEMX or STM32CUBEPROG).
One suggestion for other product STM32CUBEPROG. Please add programing MCU via JLINK.
2020-11-30 10:46 AM
Dear @Alexandre RENOUX
Any news?
Any new release to solve the mentioned problem?
2020-12-01 02:02 AM
Hi Vahid, can you give me an update on this? You're saying that pre-touchgfx, the project compiles - When you generate from designer then suddenly USBD dependencies are missing? Are they provided as library or code?
/Martin
2020-12-10 08:59 AM
Hello dear @Martin KJELDSEN
Sorry for my late and delayed answer. Unfortunately yes, The problem persists with the Touchgfx designer 4.14 and 4.15, Cubemx code generator 6.0.1 or 6.1.0. The procedure for the reproduction of the issue has been discussed in the earlier discussion but for remembrance, it is as follows:
Anyway, @Alexandre RENOUX has observed the problem earlier, If I couldn't discuss it clearly, he is the right person to clarify where the problem is.