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.

Using SYS/BIOS with the TIVA C LaunchPad

Other Parts Discussed in Thread: TM4C129XNCZAD, TM4C123GH6PGE, TM4C123GH6PM

Hi all,

I want to use the SYS/BIOS on the Tiva C launchpad and I am learning about it through http://processors.wiki.ti.com/index.php/TI-RTOS_Workshop.

But I am having difficulty in linking the header files and other setting that need to be changed for using Tivaware/Stellariware.

I REQUEST SOMEONE TO GUIDE ME STEP-BY-STEP ON setting up SYS/BIOS for the TIVA C.

Please 

Thanks

  • Akhilesh,

    Now there are two parts you might be confusing. First, there is SYS/BIOS which is the "TI-RTOS Kernel", no drivers or anything included. If you want just the kernel, then the guide above focuses on that. If you want to use the TivaWare drivers alongside, then it's up to you to link to the driver files. If you're using CCS, I can walk you through adding the TIvaWare drivers to your compiler include path and linker path in a SYS/BIOS project.

    Secondly, there's just "TI-RTOS" which is the Kernel above plus drivers and networking stacks. It's good that you've learned about the Kernel from the wiki page as understanding it will prove helpful. TI-RTOS also comes with drivers for the TIVA C devices and examples for the TM4C123GH6PGE, TM4C123GH6PM and TM4C129XNCZAD boards that you can start from. The TI-RTOS drivers wrap around the Tivaware drivers, making them thread-safe for an RTOS environment. If you want to use TI-RTOS drivers, you can download it here: http://www.ti.com/tool/ti-rtos

    A good place to start with TI-RTOS drivers after installing it, is to import one of the examples projects in CCS. The examples already link to the TivaWare driverlib. If still you want to use the TivaWare directly, at least you can see how it's linked in from the TI-RTOS example projects.

    In summary, I'd say example projects are a good way to start.

    Let me know what you decide on doing. I'd love to guide you on any route you choose.

    Moses

  • Hi Moses,

    First of all thank you for taking out time and explaining about the SYS/BIOS &TI-RTOS. Now I have understood the difference between them.

    I thought about which track to follow and I would like to take up the SYS/BIOS alone as I have a limited timeframe within which I need to implement the task given to me and given that I have never worked with any kind of an RTOS or Kernel I would prefer learning it through some online resources from TI where a step by step guide to using the various features of the Kernel or RTOS are given. Since the TI-RTOS workshop wiki has videos by Eric Wilbur for step by step guide for using the SYS/BIOS kernel, for the time being I would learn that. Once I finish this task I will move on to the TI-RTOS.

    I would be grateful if you could guide me on adding the TivaWare drivers to the compiler include path and linker path to a SYS/BIOS project In CCS.

    Once again thank you Moses for offering your help and guidance.

    Akhilesh

  • Akhilesh,

    First install TivaWare preferably in the default c:\ti location. Then open up your project properties and add it to your include path as shown below

    You can now include the Tivaware drivers in your source files with #include <driverlib/gpio.h> for example.

    Also the actual libraries and search path have to be added to your linker options as follows:

    This shows adding the driverlib from TivaWare. If your project uses usblib, you'll have to include it in the same way.

    Let me know how it goes.

    Moses

  • Hi Moses,

    I followed the instruction you gave, but unfortunately the build is still encountering problems and it is not building successfully. 

    I have attached a screenshot. Kindly help

    Thanks 

  • Akhilesh,

    Can I see a screen shot of your include path under the project properties?

    Moses

  • Hi Moses,

    I was able to rectify the Include path problem. It struck me that since the /inc and /driverlib wee inside the TivaWare folder and I had given the path as Tivaware/driverlib the complier was looking in the wrong place.

    I have attached the screenshot for your reference.

    Please let me know if what I have done is correct or wrong.

    But even after this my program to blink an led using RTOS does not work properly. When I run the program using CCS Debug environment I get this error when suspend the program.

    I was able to understand that the complier is unable to execute the SysCtlDelay() function but I do not know why it is occuring, or how to resolve it.

    Also, when I use the reset option I get this error.

    Kindly help me out with these errors.

    Akhilesh

  • Akhilesh,

    The include path looks right. Can I see your source code to blink the LED? You can zip your entire project and attach it to this post.

    Thanks,

    Moses

  • Hi Moses,

    I have attached the file as requested.

    Thanks 

    Akhilesh

    6281.LED_blink_idle.rar

  • Akhilesh,

    I've been able to get your project to compile and work. In your project properties you have, "C:\ti\TivaWare_C_Series-2.0.1.11577\driverlib" in the include path but in your code, you have a #include "driverlib/gpio.h. I had to change it to #include "gpio.h" to get it to compile. I also commented out a bunch of the SysCtl API functions. SYS/BIOS handles most of this functions such as setting the CPU clock. Also, it's not recommended to use SysCtl API functions in a SYS/BIOS project, SYS/BIOS has it's own equivalent functions that you can use.

    Another thing is I see your ledToggle function is called from the idle task and calling delay() from an idle task is not recommended. A better way would be to create an ledToggle task and use Task_sleep() to delay. You could also use the SYS/BIOS timer to achieve what you want to achieve.

    Moses

    6507.LED_blink_idle.zip