Hi TI professionals!
Got quesiton here:
1) have TI ever really test "ti\sysbios_ind_sdk_2.1.0.1\sdk\starterware\examples\dcan" in AM3359 ICE V2?
① There is no sample for DCAN development in the latest package of sysbios_ind_sdk_2.1.1.2\sdk\starterware. But userguide said it supports AM3359 ICE V2(C:\ti\sysbios_ind_sdk_2.1.1.2\sdk\starterware\docsUserGuide_02_01_01_01.pdf ).
② We use the tools of sysbios_ind_sdk_2.1.0.1 to compile the sample of "C:\ti\sysbios_ind_sdk_2.1.0.1\sdk\starterware\examples\dcan\frame_tx_rx". When we function AM3359 ICE V2, problem happened as follows:
StarterWare DCAN Application!!
BOARDInit status [0x0]
SoC : [AM335X]
Core : [A8]
Board Detected : [ICE Ver 2]
Base Board Revision : [UNKNOWN]
Daughter Card Revision: [UNKNOWN]
Invalid device ID!!
Device is not available on this board!
FAILURE!!!
This example is not supported on this board
After we tracked the program, we found that for the function "frame_tx_rx_app_main.c" , the main function "status = DcanAppBoardInfoGet(&gDcanTxRx)" returned wrong value(should be S-PASS)
For the function of "DcanAppBoardInfoGet(dcanAppCfgObj_t *pObj)"
/* Get the DCAN connector data on the board. */
modId = BOARDGetDeviceCtrlModId(DEVICE_ID_DCAN_CONNECTOR, DCAN_CONNECTOR_INST_NUM);
modld is -1, thus reported error.
After analyzing, the function pBoardData = BoardGetDataAm335x() (C:\ti\sysbios_ind_sdk_2.1.0.1\sdk\starterware\board\board.c) cannot obtain any data of DCAN.
The function library from both sysbios_ind_sdk_2.1.0.1 and sysbios_ind_sdk_2.1.1.2 gets problems with AM335x ICE V2. Anyway we figured this problem out by the following:
--------- in starterware\board\am335x\am335x_icev2_pinmux_data.c,add the figuration for static pinmuxPerCfg_t gDcan0PinCfg[].
---------in starterware\board\am335x\am335x_ICEv2.c, add DCAN configuration for gBoardAm335xIceV2DevData[].
---------recompile libboard.a
---------recompile frame_tx_rx_app_main
The program can work normally when we power up AM3359 ICE V2.
But when connected with USBCAN at same baudrate, AM3359 ICE V2 cannot recieve data after CAN frame transmit was carried out.
2) have TI ever really test "ti\sysbios_ind_sdk_2.1.0.1\sdk\starterware\examples\dcan" in AM437x GP EVM?
We compile the sample in C:\ti\sysbios_ind_sdk_2.1.0.1\sdk\starterware\examples\dcan\frame_tx_rx. The same problem happened as in AM3359. when connected with USBCAN at same baudrate, AM437X GP EVM cannot recieve data after CAN frame transmit was carried out.
debug process:
Software version:ti-sdk-am437x-evm-07.01.00.00-Linux
------------ test for loopback works normally.
At RS232:
canconfig can0 bitrate 10000 ctrlmode triple-sampling on loopback on
canconfig can0 start
cansend can0 -i 0x01 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
At telnet terminal:
candump can0 recieved data normally.
------------when connected with USBCAN device,AM437x CAN0 can only receive data after USBCAN device sends data.
but AM437x GP EVM sends data in CAN format, USBCAN device cannot receive data.
Linux command:
canconfig can0 bitrate 10000 ctrlmode triple-sampling on loopback off
canconfig can0 start
cansend can0 -i 0x01 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
I hope anyone can reply to me as soon as possible. Thank you very much.
Guotao