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.

Tiva TM4C123x ROM User’s Guide -ROM_API_TABLE implementation details?

Hi All,

I am looking for information like how ROM_APITABLE is placed at location 0x01000010 as well as  peripheral tables.

I am referring Tiva™ C Series TM4C123x ROM USER’S GUIDE - spmu367.pdf and installed the Tiva C series software. 

\ti\TivaWare_C_Series-2.1.0.12573\driverlib provides definition of all driver library functions however I am looking for information  how ROM_API_TABLE is created and placed to location 0x10000010 and how peripheral function gets linked (like ROM_GPIOTABLE etc) via main ROM_APITABLE?

I tried to see linker file for driver lib however couldn't locate it.
Purpose - I want to understand how these ROM API table as well as peripheral table is created and linked (software implementation details).

Thanks in advance.
Tushar

  • Hello Tushar,

    I would suggest a simple program which call ROM_SysCtlPeripheralEnable for a GPIO Port and then you can use it to step debug through the IDE to see how the ROM Table is interpreted.

    Regards

    Amit

  • Hi Amit,

    Thanks for your reply. I will definitely try it tomorrow.

    However I am looking for information to build ROM code - ROM API Table creation, Peripheral API table creation - implementation details.

    Thanks,
    Tushar

  • Hello Tushar,

    I think you can "google" a lot on this topic.

    Can't commit on this anymore.

    Regards

    Amit

  • Tushar Barhate1 said:
    I am looking for information to build ROM code

    You do realize that you "cannot" create nor alter any code stored w/in MCU's (masked) ROM!

    Amit's thus taken you as far as practice allows - your objective appears murky & w/out real prospects...

  • My purpose is to understand the implementation of masked ROM code and its implementation for this series and implement the similar concept into the TI chip on which I am working.

    The TI chip on which, I am working contains Masked ROM and Flash.

    Thanks,
    Tushar

  • The chip on which I am working has Masked ROM and I want to put the driver library into Masked ROM.
    Per Tiva C series, created ROM_APITable array of pointer (example) as below;
       unsigned int *ROM_APITable[] = {
       (unsigned int *)ROM_ADCAPITable,
    }

    /* ROM_ADCAPITable is a function pointer */
    void (* const ROM_ADCAPITable[])(unsigned char, unsigned char) = {
      ADC_Achannel_Config,
      ADC_Bchannel_Config,
    };

    However ADC_Achannel_Config function needs only one parameter (void ADC_Achannel_Config(value)  and other API needs 2 parameters(void ADC_Bchannel_Config(value1, value2).

    If i use above syntax then warning gets generated for ADC_Achannel_Config function .
    So let me know any alternate way or any suggestion in above approach.

  • Tushar Barhate1 said:
    I want to put the driver library into Masked ROM.

    As past stated - you cannot, "add/delete/modify" existing content w/in MCU's masked ROM.  What's there - remains there!

    You can make function calls to the masked ROM - thus exploiting its usage - but your further goal remains unclear...

    You may make use of the "MAP" prefix in conjunction w/function calls which (appears) to "automate" much (maybe all) of what you seek...

  • Hello Tushar,

    I believe cb1 has already pointed it out. A ROM in TIVA devices is truely a Read Only Memory. Such appends cannot be made.

    You have to do it in the Flash.

    Regards

    Amit

  • Hi All,

    The TI chip on which I am working is under development. The Mask ROM and flash size is yet not decided.
    I have to create ROM library and based on its size, we will decide size of (mask) ROM for TI chip.

    I am working on driver library which will go into (mask) ROM of TI chip (which is under development).To get the size of ROM, I am performing these experiments and referring Tiva C series ROM driver library concept.

    Hope now your all doubts are cleared  and looking for the ROM table and peripheral API table information.

    Thanks in advance.
    Tushar

  • Hello Tushar,

    The clearly the team doing the TI Chip should be able to help you out better,

    Regards

    Amit