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.

LAUNCHXL-RM42: Can't work on Windows 10

Part Number: LAUNCHXL-RM42

Hello Team,

Posting on behalf of my customer:

Hello we received a new RM42 Hercules Reference Kit with the Demo software on there. When I connect to the windows10 laptop the PC program does not automatically launch like in the instructions. Is there a missing step? Thank you.

Regards,

Renan

  • Hi Renan,

    As per manual it should be supported from windows-7 onwards, so using windows 10 may not be a issue.

    To check whether the board is programmed with preprogrammed software or not, can you see LED blinking for GIOA2 and NHET08 LED's. They are D11 and D12 LED's.

    You can also refer below video tutorial for to know how to start program your own application.

    Hercules Tutorial: Turning on the LEDs - YouTube

    --

    Thanks & regards,
    Jagadish.

  • Hello Jagadish,

    Please see response from my customer:

    Thank you. For the demo project the SCI (serial) is enabled. What are it’s default serial settings *baud rate, data bits, parity, stop bits and flow control?  To troubleshoot we wanted to connect to a serial terminal and put a break point and see if we can see data coming back and forth. It did not say in the documentation, and the demo code sci.c code is not clear (see also below sciInit from the demo project) . The parity is even from comments but what are the other settings?

    2046.code.txt
    /** @fn void sciInit(void)
    
    *   @brief Initializes the SCI Driver
    
    *
    
    *   This function initializes the SCI module.
    
    */
    
    void sciInit(void)
    
    {
    
    /* USER CODE BEGIN (2) */
    
    /* USER CODE END */
    
     
    
     
    
        /** @b intalise @b SCILIN */
    
     
    
        /** - bring SCI out of reset */
    
        scilinREG->GCR0 = 1U;
    
     
    
        /** - Disable all interrupts */
    
        scilinREG->CLRINT    = 0xFFFFFFFFU;
    
        scilinREG->CLRINTLVL = 0xFFFFFFFFU;
    
     
    
        /** - global control 1 */
    
        scilinREG->GCR1 = (1 << 25)  /* enable transmit */
    
                      | (1 << 24)  /* enable receive */
    
                      | (1 << 5)   /* internal clock (device has no clock pin) */
    
                      | ((1-1) << 4)  /* number of stop bits */
    
                      | (0 << 3)  /* even parity, otherwise odd */
    
                      | (0 << 2)  /* enable parity */
    
                      | (1 << 1);  /* asynchronous timing mode */
    
     
    
        /** - set baudrate */
    
        scilinREG->BAUD = 259;  /* baudrate */
    
     
    
        /** - tranmision length */
    
        scilinREG->LENGTH = 8 - 1;  /* length */
    
     
    
        /** - set SCI pins functional mode */
    
        scilinREG->FUN = (1 << 2)  /* tx pin */
    
                     | (1 << 1)  /* rx pin */
    
                     | (0);  /* clk pin */
    
     
    
        /** - set SCI pins default output value */
    
        scilinREG->DOUT = (0 << 2)  /* tx pin */
    
                      | (0 << 1)  /* rx pin */
    
                      | (0);  /* clk pin */
    
     
    
        /** - set SCI pins output direction */
    
        scilinREG->DIR = (0 << 2)  /* tx pin */
    
                     | (0 << 1)  /* rx pin */
    
                     | (0);  /* clk pin */
    
     
    
        /** - set SCI pins open drain enable */
    
        scilinREG->ODR = (0 << 2)  /* tx pin */
    
                     | (0 << 1)  /* rx pin */
    
                     | (0);  /* clk pin */
    
     
    
        /** - set SCI pins pullup/pulldown enable */
    
        scilinREG->PD = (0 << 2)  /* tx pin */
    
                    | (0 << 1)  /* rx pin */
    
                    | (0);  /* clk pin */
    
     
    
        /** - set SCI pins pullup/pulldown select */
    
        scilinREG->PSL = (1 << 2)  /* tx pin */
    
                     | (1 << 1)  /* rx pin */
    
                     | (1);  /* clk pin */
    
     
    
        /** - set interrupt level */
    
        scilinREG->SETINTLVL = (0 << 26)  /* Framing error */
    
                           | (0 << 25)  /* Overrun error */
    
                           | (0 << 24)  /* Pariry error */
    
                           | (0 << 9)  /* Receive */
    
                           | (0 << 8)  /* Transmit */
    
                           | (0 << 1)  /* Wakeup */
    
                           | (0);  /* Break detect */
    
     
    
        /** - set interrupt enable */
    
        scilinREG->SETINT = (0 << 26)  /* Framing error */
    
                        | (0 << 25)  /* Overrun error */
    
                        | (0 << 24)  /* Pariry error */
    
                        | (1 << 9)  /* Receive */
    
                        | (0 << 1)  /* Wakeup */
    
                        | (0);  /* Break detect */
    
     
    
        /** - inialise global transfer variables */
    
        g_sciTransfer[0].mode   = 0 << 8;
    
        g_sciTransfer[0].length = 0;
    
     
    
        /** - Finaly start SCILIN */
    
        scilinREG->GCR1 |= (1 << 7);
    
     
    
    /* USER CODE BEGIN (3) */
    
    /* USER CODE END */
    
    }

    Regards,

    Renan

  • Hi Renan,

    Actually, the demo baudrate settings could be as below

    9600- baudrate

    2- Stop bits

    8- bit length

    No- parity

    --

    Thanks & regards,
    Jagadish.

  • Hello Jagadish,

    Please see response from our customer below:

    We were trying to debug using the microUSB that comes with launch pad (the JTAG pins are unpopulated so we did not buy a JTAG instead of using the microUSB) and enabled the LINSCI to use an SCI  via LINSCIRX and LINSCI TX pins on J1 (pins 3 and 4) so we could use the debugger at the same time as interacting with  the TI RM42 demo project.

    It looks like it is an undocumented HW issue on the RM42 Launchpad see: https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1227341/launchxl-rm42-problem-with-receiving-data-over-uart-sci1_rx-line/4637180#4637180

    TI wrote on this forum that “RM42 has only one SCI module. The SCI signal is connected to FTDI chip (U2) on RM42 Launchpad. If you want to use SCI signals on the header to communicate with another device, you need to remove R8 and R9, and connect SCITX and SCIRX to your device or board.”

     Does this mean with this version of Launchpad HW there is bus contention between TI's FT2232HL and serial connection (via FTDI USB to serial cable) over the LINSCI1_RX and LINSCI1_TX lines (please see scope probe photo of the SCI1_RX line below).  Even after altering the hw, does this mean we cannot use the microUSB to debug at the same time as getting serial comm over LINSCI or that we can never use the microUSB port as serial? If we switch to the RM57 Launchpad board, we get >1 SCI but are the same bus contention problems designed into the RM57 Launchpad board that exists in this RM42 board and if this is a known issue with TI we may need to modify the RM57  Launchpad board also for resolving bus contentions but risk losing other features like serial access to our microUSB port or not being able to debug and get output to a particular serial port at the same time like the problem with the RM42 launchpad board?  

     See schematic the R8 and R9 from the RM42 LaunchPad manual (attached) below screen shot, it looks like a bus contention on this version of the Launchpad Hardware:

    Our engineering team also probed the SCI1_RX line on the LaunchPad.  Figure below shows the SCI1_RX line when one character is transmitted from the serial terminal.  The range of this signal is ~ 3.3 V, but the low levels are not even close to the 0 V level.

     Figure 1

    Regards,

    Renan

  • Hi Renan,

    Started working on the issue and will provide an update soon.

    --

    Thanks & regards,
    Jagadish.

  • Hi Renan,

    I will explain how exactly it is designed.

    FT2232HL can be able to interface with two independent interfaces, each can be UART/FIFO/JTAG/SPI/I2C.

    In our design we selected those two interfaces as UART and JTAG. So that means the FT2232HL will function like

    1. USB to JTAG

    2. USB to UART

    Here USB to JTAG is used for device programming and debugging. Whereas USB to UART is used as a console to interface with PC.

    Actually, here you can do both the functionalities at the same time, you can debug the code and at the same time you can send/receive data to the PC. This is handled by FT2232HL.

    TI wrote on this forum that “RM42 has only one SCI module. The SCI signal is connected to FTDI chip (U2) on RM42 Launchpad. If you want to use SCI signals on the header to communicate with another device, you need to remove R8 and R9, and connect SCITX and SCIRX to your device or board.”

    Here this thread is not talking about PC interface, that means if you want to interface SCI with some other board over UART/RS232 in that case you don't require to interface with PC and even you can't to both at the same time right? in that scenario you have to disconnect the SCI with FT2232HL.

    Remember even if you disconnect SCI with FT2232HL, you can still program and debug the device from USB because both are independent interfaces to the FT2232HL.

    --

    Thanks & regards,
    Jagadish.

  • Hello Jagadish,

    Please see resposne from our customer:

    We apologize for not being clear. We connected the SCI to the PC (please reread my original email)  using the PC cable (below) that let us connect to the SCI pins on J1 and communicating over PuTTy but it di dnot work right. I thought the TI link said that would not work not because it only works with PC and not other boards, but because we would have to physically remove the R8 and R9 resistors for it to work at all if we still wanted to use the microUSB cable with CCS to debug?  The JTAG pins are not populated on the launchpad and there is no JTAG that came with the kit. Only the microUSB cable.

    Is that part correct that we cannot debug with microUSB cable and use the SCI for serial communication “to a PC” because of these resistors?

    Regards,

    Renan

  • We connected the SCI to the PC (please reread my original email)  using the PC cable (below) that let us connect to the SCI pins on J1 and communicating over PuTTy but it di dnot work right.

    So that means you didn't use the USB connector(j11) provided by launchpad right?

    If above my assumption correct then yes you should remove R8 and R9 to work with SCI. 

    if we still wanted to use the microUSB cable with CCS to debug?

    Still you can use microUSB with CCS for debugging, removing R8 and R9 won't affect the debugging.

    Is that part correct that we cannot debug with microUSB cable and use the SCI for serial communication “to a PC” because of these resistors?

    No, still we can debug even after removing R8 and R9 by connecting microUSB cable j11 connector.

    Please reread my last comment, actually using microUSB cable at j11 you can basically do two functionalities

    1. You can connect a serial terminal and see data

    2. You can debug the code

    If you remove the R8 and R9 resistors, then you can do only one functionality that is debugging.

    --

    Thanks & regards,
    Jagadish.