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.

problem with EKC-LM3S9B90 and freeRTOS



Hi
I've the EKC-LM3S9B90 evaluation board and have successfully installed and run the bundled sample programs. I have followed the tutorial on the freeRTOS site. However when I try and start the openocd programmer in eclipse I get the following error:


Info: openocd.c:92 main(): Open On-Chip Debugger (2007-08-17 11:00 CEST)
Error: ft2232.c:1341 ft2232_init_ftd2xx(): unable to open ftdi device: 2
Error: ft2232.c:1356 ft2232_init_ftd2xx(): ListDevices: 2

Error: ft2232.c:1358 ft2232_init_ftd2xx(): 0: Luminary Micro ICDI Board A
Error: ft2232.c:1358 ft2232_init_ftd2xx(): 1: Luminary Micro ICDI Board B


Does anyone know how to build the freeRTOS for my board? I really appreciate any help!

Post edited by: circle, at: 2009/06/26 09:59
  • OpenOCD is telling you that it can not find the board that you've specified in your openocd.cfg, but that it has found "Luminary Micro ICDI Board" instead. The FreeRTOS tutorial is based on an older evaluation board which has a different name and also a different USB VID/PID.

    Use the following in your openocd.cfg:

    Code:


     ft2232_device_desc "Luminary Micro ICDI Board"
    ft2232_vid_pid 0x0403 0xbcda





    If this does not work, use "Luminary Micro ICDI Board A" instead.

    Note that your mileage may vary on this; I use OpenOCD revision 555, but the command syntax has changed in newer versions. From the "Info:" line you've provided, I'm guessing that you're using an even older version that I have so the above commands should be fine.

    --Brian
  • Hi
    Thanks for your reply!

    I can't find any file named openocd.cfg however I guess that the files "fury_ft2232.cfg" & "fury_ft2232_flash.cfg" are the files to change. They are basically the same with only minor differences, this is my "fury_ft2232.cfg" before I changed it:
    Code:


     #daemon configuration
    telnet_port 4444
    gdb_port 3333

    #interface
    interface ft2232
    ft2232_device_desc 
    "Stellaris Evaluation Board A"
    ft2232_layout evb_lm3s811
    ft2232_vid_pid 0x0403 0xbcd9
    jtag_speed 40
    #LM3S811 Evaluation Board has only srst
    reset_config srst_only separate

    #jtag scan chain
    #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
    jtag_device 4 0x1 0xf 0xe

    #target configuration
    daemon_startup attach
    #target  
    #target arm7tdmi    
    target cortex_m3 little run_and_halt 0
    # 4k working area at base of ram
    working_area 0 0x20000800 0x1200 nobackup
    #target_script 0 reset ../doc/scripts/evb_lm3s811_test.script 

    #flash configuration
    flash bank stellaris 0 0 0 0 0






    and after I changed it:
    Code:


     #daemon configuration
    telnet_port 4444
    gdb_port 3333

    #interface
    interface ft2232
    ft2232_device_desc 
    "Luminary Micro ICDI Board"
    ft2232_vid_pid 0x0403 0xbcda
    jtag_speed 40
    #LM3S811 Evaluation Board has only srst
    reset_config srst_only separate

    #jtag scan chain
    #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
    jtag_device 4 0x1 0xf 0xe

    #target configuration
    daemon_startup attach
    #target  
    #target arm7tdmi    
    target cortex_m3 little run_and_halt 0
    # 4k working area at base of ram
    working_area 0 0x20000800 0x1200 nobackup
    #target_script 0 reset ../doc/scripts/evb_lm3s811_test.script 

    #flash configuration
    flash bank stellaris 0 0 0 0 0






    With the changes above to the 2 files I get the following error:


    Code:


     Info:    openocd.c:92 main(): Open On-Chip Debugger (2007-08-17 11:00 CEST)
    Error:   jtag.c:1253 jtag_examine_chain(): JTAG communication failurecheck connectionJTAG interface, target power etc.
    Error:   jtag.c:1440 jtag_init(): trying to validate configured JTAG chain anyway...
    Error:   jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chainIR mismatchscan returned 0x3f
    Error
    :   jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chainIR mismatchscan returned 0x3f
    Error
    :   jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chainIR mismatchscan returned 0x3f
    Error
    :   jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chainIR mismatchscan returned 0x3f
    Error
    :   jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chainIR mismatchscan returned 0x3f
    Error
    :   jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chainIR mismatchscan returned 0x3f
    Error
    :   jtag.c:1448 jtag_init(): Could not validate JTAG chain, exit





    Any idea what can be wrong, thanks again for your input.

    Post edited by: circle, at: 2009/06/26 13:41
  • Hi
    I would greatly appreciate this problem to be solved.

    One of the incentives to purchase the EKC-LM3S9B90 for me was that it could run freeRTOS as specified by its product page at Luminary micro. As this is currently not the case I believe that Luminary owes its consumers that it posts an updated version of the freeRTOS download at the EKC-LM3S9B90 product page. Instead of just cut and paste some old download and hope that it works.
  • Hi circle,

    Sorry to hear that you’re still having trouble. I’m having some trouble following your recent posts. Remember that OpenOCD and freeRTOS are not the same thing.

    We do have people here that are familiar with using OpenOCD as a debugger but it is not one of our mainstream tools.

    freeRTOS and examples can be used with with any of the tools chains that we support – you don’t have to use OpenOCD.

    So could you clarify the exact problem you’re seeing? It sounds like it’s nothing specific to freeRTOS, but is a general configuration issue with OpenOCD.

    -- Jon

    Post edited by: TI Jon, at: 2009/07/01 16:34
  • First thing: try the current version of OpenOCD. That would be the 0.2.0 code from last month; or maybe even the latest from SVN.

    Code from two years ago is unlikely to work very well with Cortex-M3 parts from anyone.

    I know the latest code has config files for the ICDI and 9B9x eval boards, plus other Coretex updates.
  • I too am having issues with a LM3S9B92 dev board and freeRTOS.

    Firstly from what I can see the freeRTOS demo code wont run 'out of the box' on the LM3S9Bxx dev boards. For starters, the crystal speeds are different (16M vs 8M) and the driverlib included with the freeRTOS demo doesnt even have the definitions for speeds over 8Mhz.

    Secondly, I found that after flashing the unmodified freeRTOS demo onto my dev board I could no longer even program the examples onto it. It just reported that the board wasnt even there. I emailed support and they told me about a newly discovered errata for the LM3S9B's and a method to unlock the device (detailed at the end of this post).

    LMI should either remove the freeRTOS demos from the LM3S9B pages or update them so as not to cause this issue!

    To Unlock:
    1. Power cycle the board and run the debug port unlock procedure in LM Flash Programmer. DO NOT power cycle when LM Flash Programmer tells you to


    2. Go to the Flash Utilities tab in LM Flash Programmer and do a mass erase operation (check "Entire Flash" and then click the Erase button). This erase appears to have failed, but that is ok


    3. Power cycle the board


    4. Go to the Flash Utilities tab in LM Flash Programmer and do another mass erase operation (check "Entire Flash" and then click the Erase button