I developed a project based on the example "SDK_2.x_LPCXpresso55s69 - freertos_message_buffers_cm33_core0" (Multicore_exemples) and the exchange of messages between the two cores is working correctly. However, when including the USBHSD peripheral to the project, the USB does not boot.
When I create the USBHSD project without the multicore configuration, the USB works normally, but when I configure the USB program in the multicore project, the USB does not work.
Does anyone have any idea what I'm doing wrong or what's missing for the USB peripheral to work in the multicore project?
LPCXpresso55S69-EVK
MCUXPresso IDE 11.7.1
SDK_2.x_LPCXpresso55s69 2.13.1
Hello @ViniciusK,
Could you please add the following lines between NVIC_ClearPendingIRQ and RESET_PeripheralReset as follows?
[ROBO_V2_0_0_core0 -> main_master.c]
Also, could you please take a look to LPC55S69's User Manual. Chapter 44: LPC55S6x/LPC55S2x/LPC552x USB1 High-Speed Device Controller. Section 44.3 Basic configuration? It might be good to set the USB1_RAM bit as mentioned in the Basic configuration of the User Manual.
[LPC55S6x/LPC55S2x/LPC552x User manual. Chapter 44: LPC55S6x/LPC55S2x/LPC552x USB1 High-Speed Device Controller. Section 44.3 Basic configuration]
Best regards, Raul.
Hi @RaRo, thanks for answering this question.
I included the lines you suggested and verified that the USB1_RAM is already being initialized by the USBHSD_init() function on peripherals and it still didn't work.
I'm already working with another sample code ("lpcxpresso55s69_rpmsg_lite_pingpong_rtos") where I've already managed to implement the USB peripheral on core 0 and transmit messages between the two cores.
I'm not sure but in my first example there are functions that need to work with static memory allocation and others with dynamic memory allocation and I think that's where the conflicts begin.
Anyway, thank you very much for your attention.