Other Parts Discussed in Thread: TDA4VL,
Hi all:
We are success to use can~1~3, but can0 always initial fail and could not use .
Could you provide any simple code to let us setup can0?
Best Regards,
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi Pierre,
For clarification, is this using Processor SDK RTOS for J721S2 (TDA4VL) on version 8.4: https://www.ti.com/tool/download/PROCESSOR-SDK-RTOS-J721S2 ?
I saw some previous posts from you that were using the above SDK, but would like clarification since TDA4VM is the selected part number in this E2E thread.
Regards,
Takuma
We are use J721S2 TDA4VE 08.04.00..
And are used sample code psdk_rtos\mcusw/mcal_drv\mcal_drv\mcal\examples\Can\soc\j721s2\mcu2_1\CanApp_Startup
It's ok to initial can1~3.
But can0 always initial failed (could not get interrupt to finish initial).
Hello,
Sorry for the delay.
Main Domain MCAN0 is not working fine or MCU_MCAN0 ?
if so , may i know which board you are using TI board or custom board.
Regards
Tarun Mukesh
We want to use MCU domain's MCAN0 at Main Domain MCU2.1.
Could you provide, example code for us.
Hello,
We have two domain CAN , MCU CAN and MAIN CAN .
As MCU2_1 Main domain is being used , Main domain CAN does not require interrupt routing.
Whereas if MCU Domain CAN, MCU_MCAN is being used then proper interrupt routing and configuration changes are required.
For example mcusw/mcal_drv/mcal_drv/mcal\examples/Can/soc/j721s2/mcu1_0/CanApp_Startup.c We have interrupt routing done for main domain CAN to MCU.
Regards
Tarun Mukesh
Can you verify Pin muxing is correctly done or not ?
which board you are using TI board or custom board.
Can you confirm you are using TI EVM?
Regards
Tarun Mukesh
Hi Tarun Mukesh Puvvada :
It's on our customer board. And I check the circult is ok for mcu_can0.
Our Mcu_can0 device tree pinmux is ok on A72 and work on linux to use mcu_can0.
But failed on mcu2_1.
We also checked the J721S2_pinmux_data.c
MCU RX, MCU TX gpio and WKGPIO4,5,6 for mcu_can_phy. is setup.(same as linux device tree)
And I know that the example code that mcu1_0 is setup for mcu_can , mcu2_0 is setup for main_can.
Is that passable that we setup mcu can and main_can on mcu2_1 at the same time?
When we setup mcu_can0 and main_can0~main_can2 on mcu2_1. , MCU2_1 will always stuck on MCAN_isMemInitDone(baseAddr).
Remove the mcu_can0. will be ok.
It's always stuck on MCAN_isMemInitDone(baseAddr).
If you have any idea, please let me know.
Best Regards.
Hello,
Is that passable that we setup mcu can and main_can on mcu2_1 at the same time?
Yes it is possible to use MCU domain CAN and Main Domain CAN on MAIN Domain.
And are used sample code psdk_rtos\mcusw/mcal_drv\mcal_drv\mcal\examples\Can\soc\j721s2\mcu2_1\CanApp_Startup
You cannot use the example code as it is because it is for MAIN DOMAIN CAN.Interrupt routing needs to be taken care and as you are using customer board pin muxing in the example code also needs to be taken care.
Initially configuration changes needs to be done.
CAN_CONFIG_DATA_SECTION_CONST const struct Can_ControllerStruct_PCCanConfigSet_PC_CanController_3 ={CanConf_CanController_CanController_3, /* Id as provided by GUI */(boolean)TRUE, /* Contoller is used=1 or not_used=0*/0x40500000U, /* Can Controller Base Address */ //MCU0: 0x40500000UCAN_TX_RX_PROCESSING_INTERRUPT, /* Can Rx Processing Type */CAN_TX_RX_PROCESSING_INTERRUPT, /* Can Tx Processing Type */(boolean)TRUE,/* BusOff TRUE = Interrupt FALSE = Polling */CAN_CONTROLLER_INSTANCE_MCU_MCAN0, /* Controller Instance */(boolean)FALSE, /* CAN FD Mode Enable */};
Did you use Configurator tool to do the changes or you manually changed these ?
Regards
Tarun Mukesh