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/TM4C1294NCPDT: EMACSnowNIMUInit from CCSv6.0.0 to CCSv7.1 patch needed?

Part Number: TM4C1294NCPDT
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

I am doing yet more stuff migrating from CCSv6 to CCSv7 and RTOS 2.0 to 2.16. I am finding an unresolved on EMACSnowNIMUInit. It occurs to me, is there a change inside either the TivaWare or NDK that means we should not be doing the NIMU workaround from those very early silicon versions? Is it benign to include or should we remove it now that we are getting fixed silicon?

Thanks.

Ray

  • We made a change to have the user supply the NIMU_DEVICE_TABLE_ENTRY table instead of having it in the driver. This was done to allow the user to select either EMAC or PPP. Take a look in the "board.c" (something like EK_TM4C129EXL.c) to see the new required code.

    I'd look at all the release notes between your versions to see all the breaks in compatibility. The "board.c/.h" changed quite a bit. I'd probably start with the 2.16 board files and tweak them instead of trying to port yor 2.0 ones.

    Todd
  • Thanks. Good to hear from you again. We have been plugging along with no problems for the past 3 years. Time to get up to date.

    I found the stuff you mention and copied from the TCP_echo example.

    Now I am getting an incompatible declaration error on xdc_CPtr ti_sysbios_BIOS_RtsGateProxy_Proxy__delegate__S

    I will go RTFM. Looks like I have a fair amount of reading ahead of me :-)

    My CCSv6 library project does not have COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR in the list under Resource->Linked Resources->Path Variables. I add it using New... and it appears to take, but then I go back and it is gone. Answer here or add a new post? Heading off to look inside the .cssproject file

    Ray
  • Hi Ray,

    Thanks for the report of "no problem for the past 3 years". Let's hope after the jump to 2.16, you have the same experience.

    BIOS plugs in two functions into the compiler's RTS library: ti_sysbios_BIOS_rtsLock and ti_sysbios_BIOS_rtsUnlock. This are called by (the RTS code) when a thread-safe action needs to be done in the RTS. Actually the RTS calls it's _lock and _unlock function which calls these functions. The ti_sysbios_BIOS_RtsGateProxy_Proxy__delegate__S function is part of that machinery. It should be in the generated source file in the debug/ConfigPkg/package/cfg/<.cfgfilename>_pem4f.c file.  For example

    xdc_Ptr ti_sysbios_BIOS_RtsGateProxy_Proxy__delegate__S( void )

    {

       return (xdc_Ptr)&ti_sysbios_gates_GateMutex_Module__FXNS__C;

    }

    Does CCS see the new TI-RTOS 2.16 versions (CCS->Windows->Preferences)?

  • You were correct that this check mark was not set. That same type of selection is available in Project->Properties->General tab->RTSC tab. I had it checked in the project properties, but not globally for CCS. I still got the error, though.

    I was getting a warning that the project was made with Compiler 16.9.3 and I was using 16.9.1, so I upgraded all my tool chains to the latest. That also did not fix it. Thankfully the update modified my environment to pick up the newer version compiler. I am guessing that something in the XDC 3.50.01.12 tool chain was built using the 16.9.3 compiler. I dropped back to XDC tools 3.32.01.22 and the type mismatch went away.

    It would seem there is some mismatch somewhere between 3.32 and 3.50.

    I am guessing there is another mismatch other than the type. I was getting a warning with 3.50 that ti.tirtos.TIRTOS was no longer needed so use ti.drivers.CONFIG and ti.mw.CONFIG. These were not put in my .cfg file and it was not clear how that might happen.

    After I dropped back to 3.32, I can't edit my .cfg with XGCONF. I get an error that the parser failed on pass 2. Fortunately, I do not seem to need to edit my configuration graphically.

    My projects are building now!! Yay!
  • TI-RTOS for TivaC 2.16 needs XDCtools 3.32.xx. It is not compatible with 3.50.xx. Unfortunately, there is a bug with 3.32.01 though in regards to xGConf (which you hit). You can use 3.32.00 though: software-dl.ti.com/.../index.html or just stick with 3.32.01 and simply edit the .cfg as a text file if needed.

    I would not "check" the Windows->Preference box that I high-lighted above. I just wanted to see if it was present. I should have had you check the projects properties (as you noted). When you select the Windows->preferences ones, I believe all projects will get it.

    Todd
  • Awesome. I marked it as verified. Have a great weekend. I'll use 3.32.00 if I need any graphical changes. Like most guys doing this for a while, I am used to doing it in a text editor though :-)