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.

RTOS: EK-TM4C1294XL: TI-RTOS HTTP GET example throws errors on System_flush() -- Other examples don't

Other Parts Discussed in Thread: EK-TM4C1294XL, TM4C1294NCPDT, TM4C123GH6PM

Tool/software: TI-RTOS

When I enter the EK-TM4C1294XL or TM4C1294NCPDT part numbers, the available forums in the drop down don't look like they match my use case, so I'm specifying here that the board is the EK-TM4C1294XL.

Using CCS 7.3 and TI-RTOS 2.16, when I build and run the unmodified httpGet example and step through it line by line, I get "Invalid CIO command (0). Memory map prevented reading 0x20009ED8" when I reach the System_flush() call that flushes the initial introductory "Starting the HTTP GET example..." call to System_printf(). This is the first time I've seen this and have used the call a lot, so I tried loading other projects that use it (tcpEcho, some original projects, etc) and they work like a charm. It ONLY fails with this example. There are plenty forum posts with the same error, but I didn't find one that solved the issue for me.

  • Hi Alberto,

    I'm not sure what is causing this. The example ran fine for me. Does the example work otherwise? Note: you can pause the target and look at Tools->ROV->SysMin to see the output buffer contents to see the System_printf output (if it has not been flushed to the CIO console in CCS.

    Todd
  • First, I said I didn't change the source code at all, but that's incorrect. I changed the MAC address in <board>.c. I have to in order to make it through the firewall. However, all of this happens even if I use the original code.

    When I try to look at the output buffer in ROV, I get "Error: java.lang.Exception: Target memory read failed at address: 0x2000f80c, length: 12 This read is at a VALID address according to the application's section map, but the DebugServer memory read failed.", so I can't tell if what is trying to print to console is the success messages or error messages (therefore I don't know if the rest of the program is working fine). I tried again with ROV connected from the get go, but got the same error before any System_printf() was ever called.

    When I just let it run, I get either 1 or 2 sets of 4 "Invalid CIO command..." outputs - if 2 sets, then each set several seconds apart. Using a breakpoint, the first two occur with the introductory message. If I'm counting correctly, a successful execution should have 4 messages print, so I don't know why 8 would occur. However, the app doesn't exit, so I don't think printError() is ever invoked.

    I just tried opening several other modules in the ROV and they give the same "Error: java.lang.Exception: Target memory...." message. Same story with 2 different cables on 2 different boards.

  • Since I don't have System_printf() to help debug and the program isn't exiting, I placed some GPIO_write calls that turn the LED off (the one that's turned on in main) throughout the httpTask and netIPAddrHook routines to narrow down just how far through the example it is getting. It seems that it is not even getting to netIPAddrHook, which, according to the comments, should be called when an IP address is added. I thought the firewall could be the culprit, but I checked with IT and the MAC for this board isn't showing as having ever tried to connect. (The MAC which is taped to the board is what I changed <board>.c to reflect)

    Addition: I tried this example on another computer and it worked fine. Same Eth cable, debug cord and board. Now it looks like there's something wrong on my computer that's making the app hang. (Environment: Linux, CCS 7.3, TI-RTOS 2.16.0.08, XDC 3.32.0.06 -  RTOS and XDC versions are the same on both terminals) Any ideas?

  • Hi Alberto,

    Are the versions of CCS on the two computers the same?  The "Invalid CIO command (0). Memory map prevented reading 0x20009ED8" error could be due to the GEL file not including that region.  Can you compare the GEL files on the two machines?

    Best regards,

    Janet

  • Hello Janet,

    The version is 7.4 on the computer that the example works on, while the non-working one is 7.3, but it looks like the failure was due to the gel file. I'm not sure why (maybe someone can enlighten me), but the TM4C123GH6PM gel file was loaded whereas the working computer had the TM4C1294NCPDT gel file. I removed the 123G's and loaded the 1294's gel file and...VOILA. It works perfectly. Thank you very* much, Janet!