Hello all!
I am trying to include a USB funcionality to my project. I am working with the scripts that KEIL give, but when I build the project I have the following report:
.\Objects\DataRain_EDM.axf: Error: L6218E: Undefined symbol Driver_USARTn (referred from usbd_user_cdc_acm_0.o). Not enough information to list image symbols. Not enough information to list load addresses in the image map. Finished: 2 information, 0 warning and 1 error messages.
I have tried to modify the Linker properties and it has not worked.
Hi Andy, thanks for your answer.
I have the same problem, so I am going to change my strategy and define my own libraries to use USB.
Thank you very much!
If I've correctly identified your problem, then the solution is to simply add the source (or binary) to your project - no need to start again from scratch!
As you have the header, you must surely also have (or know where to get) the source (or binary).
Writing your own USB library from scratch is a major undertaking!
Hi again Andy,
I have been improving my code, and I am now at the point that I am able to receive characters from the host (PC). My problem now is that I don't understand how the function "USBD_CDCn_ACM_SendData" works.
My purpose is to include the function "USBD_CDC_ACM_WriteData" inside "SendData" function. I know that WriteData is an asynchronous function, but it never interrupts the program.
My code is:
// Called when when all data was sent. void USBD_CDC0_ACM_SendData (int32_t len) { // Add code for handling new data send int32_t cnt; cnt = USBD_CDC_ACM_WriteData(0, mantTxBuf, len); if(cnt<0) {} //error }
where
mantTxBuf
How "USBD_CDCn_ACM_SendData" works?
Should I implement the asynchronous function to send data ("USBD_CDC_ACM_WriteData") as a independent function?
Is there another strategy to send data when I have characters in my Tx buff ("mantTxBuff")??
Please keep to 1 question per thread - so that the title accurately reflects the content.
You can always post a link to a follow-on thread.