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.

IWR1642BOOST: Problems running CAN driver test

Part Number: IWR1642BOOST
  •  mmWave SDK 01.02.00.05

  • IWR1642BOOST

  • Silicon revision ES1.0

  • Code Composer Studio Version: 8.1.0.00011 

Hello,

I am attempting to run the CAN driver test program but it is getting stuck at the test Selection stage.  This message is printed in the console:

*******************************************************
CAN Unit Test Menu
Please select the type of test to execute:  
1. DCAN Internal loopback test              
2. DCAN External loopback test              
3. DCAN Parity test                         
4. DCAN Tx/Rx test                          
*******************************************************
> Enter your selection:

But there is no response to entering any of the numbers in the console. If I pause the execution I find that it is stuck in this while loop:

while (testSelection == 0);

        /* Validate the selection: */
        if ((testSelection >= DCAN_APP_TEST_INTERNAL_LOOPBACK) && (testSelection <= DCAN_APP_TEST_EXTERNAL_DATA))
            break;

and if I look through the program I can not find the way that testSelection will be set by user input.

What do I need to do to run the test program?

Thanks,

Tim 

  • Hi Tim,

    As you mentioned, the code does not appear to have a way to read user input into testSelection. Looking at the code, It appears that the user is supposed to set the global variable testSelection according to the desired test then rebuild the test and run it.

    I will check this with our driver development team and there appears to be a need for documentation with clear instructions to run the test. Looking at the code, my understanding as to why the test doesn't have a way to read user input into testSelection is that standard library functions such as scanf() are available to the program only when the program is run in CCS debug mode in which case CCS provides the CIO functionality for console input and output using the CCS console. The test also doesn't use UART read and write functions to allow reading user input in non-CCS mode which is why you need to hardcode the test selection and re-build every time.

    For now, I would recommend you to set the global variable in code for the desired test and rebuild every time to run the corresponding test.

    Please also ensure that you perform the modifications specified in the IWR1642BOOST EVM user guide under section 2.3.3 (CAN Interface Connector) if you want to run the external loopback test.

    The following E2E threads which discuss the same/similar questions could also be useful:

    1. IWR1443BOOST: CAN output with IWR1443Boost

    2. AWR1642: Why doesnot the CAN driver test program work in TX/RX modes?

    3. Linux/AWR1443BOOST: Using CAN bus on EVM

    4. IWR1443: Configure the correct parameters on the CAN bus

    Please mark this thread as answered if this resolves your query otherwise get back if you have more questions on this topic.

    Regards

    -Nitin