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.
Tool/software: TI-RTOS
Hi,
I've had a forum thread on the TI-RTOS forum the past few days trying to resolve build issues I'm having with the uartecho example included with CCS V7 install (C:\TI_CCS\tirtos_tivac_2_16_01_14\packages\examples\source\uartecho), which includes a uartecho.c and corresponding .cfg files. I created a new empty CCS project, and added the two files into the project. I had to add an include path for the compiler in the Properties-ARM Compiler, and add the board.h file to the project, to get past compile step (a how-to-build readme would have been helpful). However after compile, there were ~100 unresolved symbol errors listed in the Problems console. The other forum had a response that got me down to a couple of unresolved errors. There is also a linker error re a memory space issue. The other forum told me to open a new thread on the TM4C group, so here I am... (the other forum, for some history is here: e2e.ti.com/.../2123198
The last two unresolved errors :
unresolved symbol SemPost, first referenced in C:/TI_CCS/tirtos_tivac_2_16_01_14/products/tidrivers_tivac_2_16_01_13/packages/ti/drivers/lib/drivers_tivaware.aem4f<EMACSnow.oem4f>
unresolved symbol ti_sysbios_knl_Mailbox_create, first referenced in C:/TI_CCS/tirtos_tivac_2_16_01_14/products/tidrivers_tivac_2_16_01_13/packages/ti/drivers/lib/drivers_wifi_tivaware.aem4f<osi_tirtos.oem4f>
The memory space error:
<Linking>
"configPkg/linker.cmd", line 166: error #10099-D: program will not fit into available memory. placement with alignment fails for section ".resetVecs" size 0x3c , overlaps with ".intvecs", size 0x208 (page 0)
I'm baffled at all these obstacles to building a design example provided with the CCS V7 - I must be doing something wrong here? Regardless, I haven't been able to track down (where do I look???) the .libs for the two remaining symbols noted above. And I don't understand what to do to fix the memory problem - there is so little code in the uartecho.c - how could this run out of memory?
Also, repeating the question I asked in the previous forum:
All of this leads to another question regarding this uartecho example. It is apparent from what is trying to get linked, this is more than a simple serial interface, as there are references to USB and WIFI, etc. This ex uses UART port 0. I gather that port can operate as a USB to UART correct? My testing will be on a custom designed board that uses port 0 only as simple serial interface - 2 wires, RX/TX. So, to operate that port in this manner, with this example design, can all this USB/WIFI stuff be removed somehow - I don't see any reference to this in the uartecho.c example file, so I'm wondering if it can be built without all this extra stuff? If so, would I do this by removing the list of files in the linker.cmd file (the first group of lines shown in the above post listing that file)?
Thank you for your time and help.
Rather than create a new CCS empty project and copying the uartecho.c and corresponding .cfg files, try importing the UART Echo example from the CCS Resource Explorer.erik skullerude said:I'm baffled at all these obstacles to building a design example provided with the CCS V7 - I must be doing something wrong here?
That should create a project in the workspace with all the files and project options set correctly. I tried that with the UART echo example from TI-RTOS for TivaC v2.16.00.08 and the example compiled without error and run successfully.
Hi Erik,
This may not be a direct answer to your question, but may explain why you ran into so many problems. Being new to TM4C myself (I have recently come from the Hercules Safety microcontroller group) I also had a lot of trouble with the TM4C TI-RTOS examples. What I finally learned is that the answer is in this getting started guide: www.ti.com\lit\SPRUHU5 (And the good suggestion from Chester above.)
This Getting Started Guide references CCS6, so I found some minor differences with CC7. I opened CCS7 and found the install for the TM4C TI-RTOS in Resource Explorer instead of App Center. From the menu, choose "View" -> "Resource Explorer"
After you install the TM4C TI-RTOS, you can expand down into the examples for the EK-TM4C129XL board. I selected the UART Echo example. Then click on the cube in the upper right corner of the Resource Explorer window. This will import the UART Echo example into your current workspace. It sets all of the necessary include paths. For me, it then built without any errors or warnings.
Now that I have the project imported, I can right click on the project name to see the project build settings. There I can see all of the paths used to find the #include files. Click on the [...] to see the absolute path with the macro names expanded.
And you can see all of the libraries that were used by the linker:
Also note that there are two "Empty Examples" in the "Driver Examples" directory that are useful when starting your own application with TI-RTOS.
I hope this is helpful. If nothing else, I learned a lot.