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.

Beaglebone kernel debugging with CCS v5.1

Other Parts Discussed in Thread: AM3359

Hi,

I'm using a Beagle bone REV4 with all software installed on an VMWare.Ubuntu 11.04. I can compile my kernel and use it with a tftp/nfs boot. I can use the CCSV5 to debug in RUN MODE (user space application).

BUT I fail trying to begin with Kernel debuging with CCS. I've tried the sitara support package documentation or such tutorial below but no way.

http://beagleboard.org/static/beaglebone/latest/Docs/ccs-jtag-simple.htm

THe main problem i think ? is that I never can have a connection such as XDS100V2 USB Emulator ? I think i need this connection ... but not sure.

The BBone should embed necessary hardware  but noway, I never have any other "connections" than "Data snapshot viewer". and indeed the directory "ccs_base/common/targetdb/connections" does nt contain anything else than "DataSnapshotViewer.xml".

Please help ?

  • Hello,

    peg said:
    THe main problem i think ? is that I never can have a connection such as XDS100V2 USB Emulator ? I think i need this connection ... but not sure.

    I believe the Beaglebone comes with on-board XDS100v2 emulation. You will need to use this since kernel debugging vs CCS requires a JTAG emulation (like XDS100).

    When trying to debug using CCSv5 and XDS100, check out the below topic:

    http://processors.wiki.ti.com/index.php/U-boot_Debug_in_CCSv5#U-boot_debug_setup_and_procedure

    Even though it is for debugging Uboot, the part about debugging a target running a high level OS is relevant.

    Thanks

    ki

  • Hi all,

    Answer to my first question was simply that CCSV5 was not correctly installed.

    I re-installed with "root" rights then re-selected all emulators during ccsv5 installer configuration, and now i can correctly use the XDS100V2 drivers.

    That's said, i still can't access to my USB-Jtag Beaglbone serial interface.

    Here are my last tries:

    Please notice that

    - my Beaglebone (RevA3 or RevA4)  boots correctly and i can see the two created USB ports on my Host (ubuntu 11.04 in a MacOSx virtual box): ttyUSB1 is used for a terminal session on the beagle bone and ttyUSB0 is not used.

    - The command "xds100serial" tells me:

    Scanning for XDS100 emulators...

    VID/PID Type Serial # Description

    0403/a6d0 XDS100v1/v2 ? BeagleBon

     No serial number found ?

    Here is the result of "test connection" of target configuration from CCS

    [Start]

    Execute the command:

    %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

    [Result]


    -----[Print the board config pathname(s)]------------------------------------

    /home/user/.TI/1548333067/0/0/BrdDat/testBoard.dat

    -----[Print the reset-command software log-file]-----------------------------

    This utility has selected a 100- or 510-class product.
    This utility will load the adapter 'libjioserdesusb.so'.

    An error occurred while soft opening the controller.

    -----[An error has occurred and this utility has aborted]--------------------

    This error is generated by TI's USCIF driver or utilities.

    The value is '-151' (0xffffff69).
    The title is 'SC_ERR_FTDI_OPEN'.

    The explanation is:
    One of the FTDI driver functions used during
    the connect returned bad status or an error.
    The cause may one or more of: invalid emulator serial number,
    blank emulator EEPROM, missing FTDI drivers, faulty USB cable.
    Use the xds100serial command-line utility in the 'common/uscif'
    folder to verify the emulator can be located.

    [End]

  • Also note a potential reset issue with beaglebone. see:

    http://circuitco.com/support/index.php?title=BeagleBone#Code_Composer_Studio_Issues

    Thanks

    ki

  • Ki-Soo Lee said:

    Regarding this topic I'm unfortunately in the bad case ...

    • CCSv5.1.0 for Linux: Revisions A3 and A4 can be used
    • CCSv5.1.0 for Windows: Revisions A3 and A4 can be used
    • CCSv5.1.1 for Linux: Revision A5 can be used
    • CCSv5.1.1 for Windows: Revisions A3, A4 and A5 can be use

    Case "CCSv5.1.1 for Linux" and owning only Rev A3 and Rev A4 boards really unlucky !

    I see two solutions:

    1) Unsinstall and re-install all my CCS environement backward to CCSv5.1. Would not like has i've got all my workspace and remote configs operationnal ...

    ==> If i get back to 5.1.0 version can i keep all my CCS installation configuration Full Workspace, Projects, Remote systeme Explorer ?

    2) Update the existing VID/PID (0403/a6d0) of Rev3 & Rev4 boards to standard VID/PID of serial USB FTDI chip (0403/6001).

    ==> Can any one confirm that would solve my problem ?

    Thanks

  • Hi,

    I have two REV A3 boards and I updated the VID/PID in one of them to 0403/6001 - option 2) in your case.

    It works flawlessly in my mixed OS/CCS scenario - as you can imagine, we at TI have multiple versions installed.

    Hope this helps,

    Rafael

  • So ... It's a pitty but i definitely can't see my beagleboards on Windows Vista Famillia Premium SP2.

    Strangely when i connect them Windows sees a strange VID/PID couple: USB\VID_0424&PID_2412&REV_0;;2

    So FTProg can never reach the device.

    If you can see on previous post my Linux correctly see VID and PID.

  • Hi,

    I guess you are connecting your Beagle Bone through a Hub... Check here.

    The VID/PID should be either the 0x403/A6D0 (TI XDS100) or the FTDI's 0403/6010...

    There is a weird 0451/6141 that is related to the AM3359's USB client.

    Cheers,

    Rafael

  • Hi all,

    I must do something wrong but i fail installing driver for my bbone on Windows, The objective is just to use "FTProg.exe' to change my VID/PID back to standard FTDI ones. I'm not using an USB hub. Bbone RevA4 Directly connected to my Windows PC.

    ==> [Failed] The install of "http://beagleboard.org/static/beaglebone/latest/Drivers/Windows/BONE_DRV.exe" definitly fails because "french" not supported on the installer (My windows vista premium is french ... hips ;O(.

    ==> [Failed] Then i tried to get usual FTDI driver and make necessary modifications (from http://www.ftdichip.com/Drivers/CDM/CDM%202.08.24%20WHQL%20Certified.zip) to recognize the 0x403/A6D0 VID/PID. See also this FAQ: https://groups.google.com/forum/#!msg/beagleboard/FlFYX3XPbO4/XdiTtv5J2fcJ

    Then the driver is not accepete for this device by Windows

    ==> So i have a look to the recognized device when i connect my beagle bone and there is these very strange VID/PID: See joined picture.

    Last, notice that under Ubuntu linux the BBone is well recognized with the current VID/PID (0x403/A6D0) ?


    Help ...

  • Peg...

    Did you try to search for a device driver for this unknown device? I am really puzzled by the strange VID/PID shown. According to this page, the VID 0424 belongs to Standard Microsystems Corp (commonly known as SMSC) and the PID matches this HUB device from SMSC. Another search hits this page that mentions support is available in certain .inf files.

    I recall having trouble with USB hubs in the past that may help you:

    - Some desktops/laptops have built-in HUBs to expand their number of USB ports, which is not obvious as they are completely integrated into the PC. I recall having some trouble with them in the past...Therefore, installing their drivers brings visibility to their nodes

    - Also, I also recall that some of these HUBs are only active when there is a device plugged into it (therefore it explains why you may not have seen this strange device before). You can test this by plugging a USB stick to the same port and see if the same strange device shows up (USB sticks have a more standard support).

    Other than that I am really running out of ideas - unless trying a completely different PC is an alternative to you... 

    Oh, one last thing: is your Vista machine a Vmware? I have experienced some inconsistencies in hardware support when running these from VMs...

    A colleague has a Windows Vista machine here and I tested my RevA4 on it, which worked fine (check the attached screens).

    Cheers,

    Rafael

    BBone_RevA4_Vista32.zip
  • HI all,

    My problem is not solved but i got a workaround.

    In fact, none of my available Windows Desktops (Vista or 7 32 bits) would work with the BeagleBone except one : An old XP one !!!

    Then i could modify the VID/PID get back to my Linux and ... ouf ... connect to the JTAG/USB emulator ! cool !

    I've to go further trying the "STOP MODE" debugging on my Kernel.

    Thanks for all your suggestions.

  • Hi,

    Thanks for reporting back the solution... It is indeed really strange you couldn't access the board from a Win7/Vista PC.

    Quick question: what is the brand/model of the PCs you used? This information could help other developers that experience similar issues...

    Thanks,

    Rafael

  • Failed to discover Beaglebone RevA3 or A4:

    Mine: is PAckard-BELL,imedia X9234 / Windows vista famillial premium SP2 / CPU Intel core2 Quad Q6600 / 32 bits
    Other: DELL dimension 500 / Windows 7 edition famillial premium SP1 / CPU Intel core2 Quad Q8300 / 32 bits
    Other: DELL vostro 420/ Windows 7 edition famillial premium SP1 / CPU Intel core2 Quad Q8300 / 32 bits

  • HI again,

    Ouups, i forgot to mention the computer on which it has worked correctly: Laptop SAmsung X22 / XP pro 2002 SP3 / Intel Core 2 duo T7500

    Anyway, I'm still struggling to make run my debug "stop mode" for Jtag/USB Kernel debugging.

    Now i can create a "Target configuration" file that can correctly connect and "test connection" seems OK (see below).

    But when i launch my "Debug configuration" (see joined screenshots) my CCS 5.1.1.00033 immediately return with the following error :



    Hips .... if anyone has got an idea ?



    Here are the screen-shots of my debug configuration:

    1016.dbg-config-screenshots.zip


    Here is my configuration file:

    (Notice that i've replaced all the beginning "<" chars by a "^" as i could never preview the XML code with e2e forum HMI ?)

    ^?xml version="1.0" encoding="UTF-8" standalone="no"?>
    ^configurations XML_version="1.2" id="configurations_0">

    ^configuration XML_version="1.2" id="Texas Instruments XDS100v2 USB Emulator_0">
            ^instance XML_version="1.2" desc="Texas Instruments XDS100v2 USB Emulator_0" href="connections/TIXDS100v2_Connection.xml" id="Texas Instruments XDS100v2 USB Emulator_0" xml="TIXDS100v2_Connection.xml" xmlpath="connections"/>
            ^connection XML_version="1.2" id="Texas Instruments XDS100v2 USB Emulator_0">
                ^instance XML_version="1.2" href="drivers/tixds100v2icepick_d.xml" id="drivers" xml="tixds100v2icepick_d.xml" xmlpath="drivers"/>
                ^instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
                ^instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
                ^instance XML_version="1.2" href="drivers/tixds100v2cs_child.xml" id="drivers" xml="tixds100v2cs_child.xml" xmlpath="drivers"/>
                ^instance XML_version="1.2" href="drivers/tixds100v2cortexA.xml" id="drivers" xml="tixds100v2cortexA.xml" xmlpath="drivers"/>
                ^instance XML_version="1.2" href="drivers/tixds100v2csstm.xml" id="drivers" xml="tixds100v2csstm.xml" xmlpath="drivers"/>
                ^instance XML_version="1.2" href="drivers/tixds100v2etbcs.xml" id="drivers" xml="tixds100v2etbcs.xml" xmlpath="drivers"/>
                ^instance XML_version="1.2" href="drivers/tixds100v2pru.xml" id="drivers" xml="tixds100v2pru.xml" xmlpath="drivers"/>
                ^property Type="choicelist" Value="0" id="Emulator Selection">
                    ^choice Name="Select by serial number" value="0">
                        ^property Type="stringfield" Value="ttyUSB0" id="-- Enter the serial number"/>
                    ^/choice>
                ^/property>
                ^platform XML_version="1.2" id="platform_0">
                    ^instance XML_version="1.2" desc="AM335x_0" href="devices/AM335x.xml" id="AM335x_0" xml="AM335x.xml" xmlpath="devices"/>
                    ^device HW_revision="1" XML_version="1.2" description="AM335x" id="AM335x_0" partnum="AM335x" simulation="no">
                        ^router HW_revision="1.0" XML_version="1.2" description="ICEPick_D Router" id="IcePick_D_0" isa="ICEPICK_D">
                            ^subpath id="subpath_11">
                                ^router HW_revision="1.0" XML_version="1.2" description="CS_DAP Router" id="CS_DAP_M3" isa="CS_DAP">
                                    ^subpath desc="M3_wakeupSS_0" id="M3_wakeupSS">
                                        ^cpu HW_revision="1.0" XML_version="1.2" desc="M3_wakeupSS_1" description="Cortex_M3 CPU" deviceSim="false" id="M3_wakeupSS" isa="Cortex_M3"/>
                                    ^/subpath>
                                ^/router>
                            ^/subpath>
                            ^subpath id="subpath_12">
                                ^property Type="numericfield" Value="0xc" desc="Port Number_0" id="Port Number"/>
                            ^/subpath>
                        ^/router>
                    ^/device>
                ^/platform>
            ^/connection>
        ^/configuration>
    ^/configurations>




    Here is the result of the "test connection":
    [Start]

    Execute the command:

    %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

    [Result]


    -----[Print the board config pathname(s)]------------------------------------

    /home/user/.TI/1548333067/0/0/BrdDat/testBoard.dat

    -----[Print the reset-command software log-file]-----------------------------

    This utility has selected a 100- or 510-class product.
    This utility will load the adapter 'libjioserdesusb.so'.
    The library build date was 'Feb 13 2012'.
    The library build time was '22:40:23'.
    The library package version is '5.0.623.0'.
    The library component version is '35.34.39.0'.
    The controller does not use a programmable FPGA.
    The controller has a version number of '4' (0x00000004).
    The controller has an insertion length of '0' (0x00000000).
    This utility will attempt to reset the controller.
    This utility has successfully reset the controller.

    -----[Print the reset-command hardware log-file]-----------------------------

    The scan-path will be reset by toggling the JTAG TRST signal.
    The controller is the FTDI FT2232 with USB interface.
    The link from controller to target is direct (without cable).
    The software is configured for FTDI FT2232 features.
    The controller cannot monitor the value on the EMU[0] pin.
    The controller cannot monitor the value on the EMU[1] pin.
    The controller cannot control the timing on output pins.
    The controller cannot control the timing on input pins.
    The scan-path link-delay has been set to exactly '0' (0x0000).

    -----[The log-file for the JTAG TCLK output generated from the PLL]----------

    There is no hardware for programming the JTAG TCLK frequency.

    -----[Measure the source and frequency of the final JTAG TCLKR input]--------

    There is no hardware for measuring the JTAG TCLK frequency.

    -----[Perform the standard path-length test on the JTAG IR and DR]-----------

    This path-length test uses blocks of 512 32-bit words.

    The test for the JTAG IR instruction path-length succeeded.
    The JTAG IR instruction path-length is 6 bits.

    The test for the JTAG DR bypass path-length succeeded.
    The JTAG DR bypass path-length is 1 bits.

    -----[Perform the Integrity scan-test on the JTAG IR]------------------------

    This test will use blocks of 512 32-bit words.
    This test will be applied just once.

    Do a test using 0xFFFFFFFF.
    Scan tests: 1, skipped: 0, failed: 0
    Do a test using 0x00000000.
    Scan tests: 2, skipped: 0, failed: 0
    Do a test using 0xFE03E0E2.
    Scan tests: 3, skipped: 0, failed: 0
    Do a test using 0x01FC1F1D.
    Scan tests: 4, skipped: 0, failed: 0
    Do a test using 0x5533CCAA.
    Scan tests: 5, skipped: 0, failed: 0
    Do a test using 0xAACC3355.
    Scan tests: 6, skipped: 0, failed: 0
    All of the values were scanned correctly.

    The JTAG IR Integrity scan-test has succeeded.

    -----[Perform the Integrity scan-test on the JTAG DR]------------------------

  • Back to my problem ...

    Even if the board can now be seen on XP PC with 0403/6010 VID/PID it is still not visible from any of my Vista or 7 !!!

    I'm desesperate with that can't even us the board on any of my regular PC. Is ther any requirement about vista or XP to recognize the FT232H device ????

    Please help !

  • So it seems that it works with 64 bits Windows not on 32 bits ones .... is ther any palliative please ?

  • Hi,

    Whenever you connect your BeagleBone to the Windows 7 / 32 bits, does it show the "new hardware found" window? If so, make sure you install the standard FTDI drivers on this OS - the boards with the updated VID/PID do not use the TI XDS100 drivers that are installed with CCSv5.

    A link for download is shown at this FAQ.

    Hope this helps,

    Rafael

  • Hi,

    Yes it does but the recognized VID/PID is weird !! See screenshot.

    Not that connected to my XP the same board shows correct VID/PID and use correct FTDI drivers.

    Yes i've already used the FAQ to pass my VID/PID form 403/A6D0 to 403/6010. Done on XP !

    But any of the programmed VID/PID the recognized VID/PID on 32 bits Windows vista and 7 is the one shown on the screenshot.

    Pierre-emmanuel

  • Hi all,

    The problem is solved, and is so simple !

    In fact it seems that beaglebone has also a USB HUB on board [USB\VID_0424&PID_2412&REV_0;;2USB\VID_0424&PID_2412]

    and this one was definitly not correctly installed on driver side of my Windows 32 bit PCs.

    Here is a driver that has worked for my windows vista premium 32 bits. And thereafter the the two FT2232H dirvers are correctly installed.

    3681.Generic_usb_hub.zip

    Thanks all

  • Thanks for reporting this; I imagine the fact you were using a virtual machine can influence this yet unreported behaviour (at least on the BeagleBone mailing lists).

    Thank you,

    Rafael

  • I do not think this has any link with the virtual machine fact ...

    Because this is really before launching any virtual machine on the Windows Host operating system. To be recognized by my host windows 32 bits famillial, this driver had to be installed ...

    BR

    Pierre-emmanuel