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.

What is tivaware ? is that a firmware already present in ROM or a software static library

i have a generic question on tivaware 

i see tivaware as a software library linked while  building a project but recently

i have been to a ti training session in delhi,india where people said that tiva ware is a factory burnt  firmware existing in the ROM and any routine called from tivaware further calls the ROM_ROUTINE 

is that true why to waste the ROM space like that how much size is tivaware library is and up to what level its been optimised,further can we erase the tivaware present in ROM 

if false and tivaware is a software library ,is that a static library? in that sense we are unnecessarily loading unwanted routines as we do in case of Chip support  Library of lets say C5000 DSP

the tivaware manual expalins more about routines but i want to know about this particular context can any one elucidate this aspect to me

  • Hi,

    All Tiva routines are casted into a ROM area, but please note the symbol (ROM) which is different from available FLASH space, where usually the code is placed. It does not clobber/shrink your FLASH size; consequently, cannot be erased/moved and does not need to load/unload unwanted code. This way, all flash space is available to you. Its size is not relevant to the user.

    If you do not use a specific routine, just ignore this fact, its presence into ROM does not harm you.

    Note also, to call a routine from ROM, you must prefix its name with ROM_ so you have the choice what to use - for instance you can call from ROM with ROM_GPIOPinConfigure() or directly from driver lib with GPIOPinConfigure(), but the last one will be placed in flash space.

    Petrei

  • Petrei said:
    to call a routine from ROM, you must prefix its name with ROM_

    Does this mean I have to use this whenever I want to call a routine in the Stellarisware library ?

  • Kevin Jerome said:

    to call a routine from ROM, you must prefix its name with ROM_

    Does this mean I have to use this whenever I want to call a routine in the Stellarisware library ?

    [/quote]

    No, only if you want to use the ROM (hard coded into the chip) version. This will save FLASH space. Check the "Using the ROM" chapter in the driverlib user's guide. It's included in the docs folder (such as SW-DRL-UG-9453.pdf depending on version) or stellariware version here: www.ti.com/lit/pdf/SPMU019 . There is also a "ROM User Guide" specific to your part. Check ti.com for one specific to your part.

    You can skip the ROM version and use the TivaWare/StellarisWare driverlib version by leaving the ROM_ prefix off. This will call the library that gets loaded into FLASH. The routine will be linked in from driverlib.lib (driverlib-cm3.lib or whatever depending on version). I'll note that the linker should only load the routines that you call, not the entire library.

    The other way is to use the MAP_ prefix. This will call the ROM version if rom.h has been included.