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.

CCS/TM4C129XNCZAD: Create updated TI-RTOS package

Part Number: TM4C129XNCZAD
Other Parts Discussed in Thread: ADS1263, DP83630, MSP432E401Y, TM4C129ENCPDT, , MSP432E411Y

Tool/software: Code Composer Studio

I'm trying to create an updated TI-RTOS package using the latest versions and get it registered into CCS.

I've updated the product directories with the latest versions I can find (bios_6_73_01_01, ndk_2_25_01_11, TivaWare_C_Series-2.1.4.178, uia_2_30_01_02, … same ns_1_11_00_10, and tidrivers_tivac_2_16_01_13),  Also installed xdcTools_3_50_8_24, and updated the make files so it builds correctly.

I changed the name from 2.16.1.14 to 2.16.02.00, as an incremental update number.

I changed all references in all files from 2.16.1.14 to 2.16.02.00.

So far, so good.  Builds as expected (one minor change was in uia_2_30_01_02, the buildfile references something named posixIncs, but it isn't defined *anywhere*, so I commented it out for now).  I go to CCS to install it, do a 'Rediscover Products', and up it pops.  Select it and press install, and things spin for a few seconds and then I get this error message.

"An error occurred while collecting items to be installed
  session context was:(profile=epp.package.cpp, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
 
  java.lang.NullPointerException

"

Oops... where to start?

  • Hi David,

    TI-RTOS for TivaC has bundled all the pieces you need. We don't recommend cherry-picking newer versions of NDK, XDCtools, SYS/BIOS, etc. and trying to get them to work.

    Todd
  • Kind of what I thought the response would be from TI.

    My concern is that I'm starting off on a NEW product using a support library that is over 2-1/2 years old.  I'm assuming that there are newer versions for a reason, like bugs being fixed or features added, and I don't see starting down this project already over 2 years behind.

    Just thought there might be some information available on how to do a package for CCS.

  • Hi David,

    Have you looked at the MSP432E4 device and SimpleLink SDK? Here's a link to the marketing blurp: www.ti.com/.../msp432e4.html

    We have active software development continuing with it. The kernel, drivers, etc. are essentially the same. Since this device is part of the SimpleLink family, you have easy migration to other SimpleLink devices when additional functionality is needed (e.g. BLE, WiFi, etc.). The SDK has TI-RTOS, NDK etc. bundled in. Here's the SDK: dev.ti.com/.../

    Todd
  • ToddMullanix said:
    Have you looked at the MSP432E4 device and SimpleLink SDK?

    Is the use of the SimpleLink SDK for a MSP430E4 supported on a "corresponding" TM4C129 device?

    As far as I can tell the MSP432E4 devices are based upon the same design as the TM4C129 devices, but the MSP432E4 devices have less published errata than the TM4C129 devices.

    TI-RTOS for TivaC hasn't been updated in the last two years, and the SimpleLink Platform has more features.

  • Just out of curiosity, is the active software development being pursued for the MSP432E4 device just for device drivers or also for general TM4C use?

    I've got a number of the DK-TM4C129X design kits already, which have proven very useful and helpful. Wasn't really looking at completely starting over. This product is for part of our internal control network, and I'm told will not EVER be wireless, or on the Internet. It's only accessible on our internal network.

    Looking at the evaluation kits, there really isn't one that compares to the DK-TM4C129X in terms of user functions. I use the touch display and color LCD on those quite a bit now. Would have been nice if there was an 'upgrade' from the DK, or something comparable.

    I didn't think the TM4C was that old a chip as to be already "outdated"?
  • From what I read on the Release Notes of the SimpleLink SDK, it seems that it supports the TM4C129X as a target. Can I just upgrade to that SDK to develop on the DK-TM4C129X?
  • Hello David,

    Let me offer some comments from the TM4C side.

    First off, if you aren't looking for wireless connectivity functionality, then I agree SimpleLink isn't a good fit. However, the newest development efforts for TI-RTOS is very closely tied with SimpleLink and the MSP432E4.

    With that said, the TI-RTOS development team and our TM4C support team are separate entities. So please don't mistake the development focus that is on MSP432E4 as a sign that TM4C is an 'old device'. TM4C is still a pretty new device for TI, especially as far as MCU's go. MSP432E4 is just a *newer* device that is geared to help round out the SimpleLink offering.

    Our TM4C portfolio has a very powerful blend of features that make it excellent for a wide array of applications where the connectivity needed is wired and more industrial such as Ethernet, USB, and CAN. It is a valuable part of our TI-wide portfolio offering and TM4C products are going to be around for a long time.

    To that end, our team is working on another TivaWare release for next year. We are committed to continue software development efforts to address gaps and bugs in TivaWare. However, it will still take a bit of time to address all of them and validate the aforementioned bug fixes to get a release out, so it will not be ready in the next couple months either.

    I understand the concerns with using an outdated software version, and that bugs could be present, and I don't have a magic wand solution to make that issue vanish but I can say the following:

    1) The current offerings, while over 2 years old, are still very robust and they don't really have many bugs so I wouldn't be concerned about that right at the beginning of development. You can look at it from another perspective, it's been out for over 2 years, hundreds of customers are using it, and yet we seldom get bug reports. I think that speaks to the strength of what we have released.

    2) When the rare bug does come up, E2E exists to help address those issues. Even if you end up reporting an issue you are having that turns out to be a known bug, we'll at least be able to help you resolve it pretty quickly.
  • In theory it might be possible (using SimpleLink MSP432E4 SDK on a TM4C device), but it not a setup that TI has tested or would support.
  • ToddMullanix said:
    Hi David,

    Have you looked at the MSP432E4 device and SimpleLink SDK? Here's a link to the marketing blurp: www.ti.com/.../msp432e4.html

    We have active software development continuing with it. The kernel, drivers, etc. are essentially the same. Since this device is part of the SimpleLink family, you have easy migration to other SimpleLink devices when additional functionality is needed (e.g. BLE, WiFi, etc.). The SDK has TI-RTOS, NDK etc. bundled in. Here's the SDK: dev.ti.com/.../

    Todd

    Although I'd rather stay with the TM4C129X device that I've already done a fair bit of development with, I'm not "against" moving to another processor.  The SimpleLink seems to have some interesting features, however for the most part, nothing that would be of an advantage to me.

    I'm doing some instrumentation for our laboratory systems, and what I require is

    • 1. integrated Ethernet MAC,
    • 2. at least 1 MB flash and 256K ram (preferably 2MB flash, as I've got it about 2/3 full already),
    • 3. high speed processing, as I have to filter the data before presenting it,
    • 4. At least 16 channels of hi-resolution A/D (I need at least 16 bit data, currently I use an external ADS1263, but that's too much resolution for what I actually need.)

    The SimpleLink seems to have the A/D that might be acceptable, but not the MAC.

    If I get the version with the MAC (absolutely essential), I'm back to using the external A/D devuce,

    If I select the MAC, I'm also stuck with no more memory than the TM4C already has, so I still don't have a reason to change.

    On the TM4C devices, I still don't have the A/D, and I can't get a larger memory, but I'm in no worse shape that I'd be with SimpleLink.

    Farther I go down this train of thought, more I'm talking myself into -not- changing.  Are there any plans to increase the size of the Flash or resolution of the A/D on any of the devices that have the internal MAC in the future?

  • Hi David,

    As far as I know, all the functionality of the TM4C129X device is present on the MSP432E4. I see your point about staying on the TM4C129X if it is working for you though. As Ralph noted, if you hit any problems, we have this forum to help address any issues.

    As a company, we are always trying improve our devices, but in terms of upcoming chips or spins, you probably need to talk to a Sales Rep or Field Application Engineer (FAE). We get in trouble talking about things like that on the forums:)

    Todd
  • One thing I noticed about the SimpleLink (and perhaps a factor to weigh in) is that the datasheet for the MSP432E4 device shows some level of support for PTP1588.
    Time synchronization has been a problem I've had to deal with on the TM4C129X (currently using a NTP client, but it's proven to be marginal in accuracy), and PTP is native to the environment the device operates in.
    I had been considering implementing an interface that includes a DP83630 or similar, but perhaps the SimpleLink might make make a better choice from that standpoint.
  • ToddMullanix said:
    As far as I know, all the functionality of the TM4C129X device is present on the MSP432E4.

    Without any testing effort, would be it be possible for a definitive statement about if MSP432E4 devices provides the same functionality as a TM4C129X device in terms of the interface between the software and hardware?

    E.g. having saved the ROM contents of a TM4C129ENCPDT silicon rev A2 and a MSP432E401Y silicon rev A2 the ROM contents from 0x01000000..0x0100E6FF was exactly the same. Given that the ROM contains the TivaWare API for accessing peripherals, this suggests no fundamental change to the peripherals between the two device families.

    The MSP432E does have changed silicon because the the Class field in the DID0 register is different (0xa for a TM4C129 and 0xc for a MSP432E), based upon diagnostics from a program which identified the size of the ROM and saved the ROM contents to the PC for inspection:

    On a MSP432E401Y:
    Running on Device Class=0xc Major Revision=0x0 Minor Revision=0x2
    DID0=0x180c0002 DID1=0x102dc06e
    ROM version 0x301 size is 0xe700 bytes
    
    On a TM4C129ENCPDT:
    Running on Device Class=0xa Major Revision=0x0 Minor Revision=0x2
    DID0=0x100a0002 DID1=0x102dc06e
    ROM version 0x301 size is 0xe700 bytes

  • David Dudley said:
    One thing I noticed about the SimpleLink (and perhaps a factor to weigh in) is that the datasheet for the MSP432E4 device shows some level of support for PTP1588.

    The TM4C129XNCZAD datasheet also mentions:

    Conforms to IEEE 1588-2002 Timestamp Precision Time Protocol (PTP) protocol and the IEEE 1588-2008 Advanced Timestamp specification

    – Transmit and Receive frame time stamping

    – Precision Time Protocol

    – Flexible pulse per second output

    – Supports coarse and fine correction methods

    However, from memory there was no support for PTP in the TM4C129 TivaWare or TI-RTOS (e.g. https://e2e.ti.com/support/microcontrollers/other/f/908/p/589936/2168364).

    For a quick look at SimpleLink MSP432E4 SDK v2.30.00.14 in the the Resource Explorer I can't see mention of PTP support.

  • Hello Chester,

    For one, the TM4C129X device in question here has an LCD Controller peripheral that is not present on MSP432E4 devices. So no the MSP432E4 does not provide the same functionality just from that standpoint alone. Edit: the MSP432E411Y has an LCD controller, wasn't aware of that device as I always had seen the MSP432E401Y referenced.

    In general, the device families share similar hardware peripherals and ROM functionality, but that's not what is important to understand. The key difference we are trying to stress here is that only the MSP432E4 family is part of the SimpleLink SDK offering. So it all boils down to if SimpleLink is desired or not.

  • Regarding the PTP...We don't have any PTP support in the NDK stack on either the MSP432E4 or TM4C129x devices.

    Note: I'm going to mark this thread as TI Thinks Resolved, but feel free to chime back in and it will get re-opened.

    Todd
  • My concern (and what got this whole thing started) is my need to acquire information from DHCP using the TI-RTOS NDK Stack. I need to acquire DHCP tags that are not currently implemented by the stack, and in a previous discussion the answer provided essentially gave me information on how to modify the DHCP client in the NDK stack to support the information I needed (Option 42, get NTP Time Server).

    If I do this modification (which is going to have to be done), I basically have a non-standard release of TI-RTOS already. Therefore, I assumed that if my implementation was going to be non-standard anyway, it might as well be non-standard with the latest releases.

    To that end, I went through the effort of downloading and building the most current versions of all the component pieces, but ran into problems integrating them together.
    I understand TI's position that this isn't supported, so this issue becomes my problem, which it has been all along.
  • Ralph Jacobi said:
    For one, the TM4C129X device in question here has an LCD Controller peripheral that is not present on MSP432E4 devices.

    Oh, the parametrics table for the MSP432E411Y is reporting the presence of a "TFT LCD Controller" which is why I thought that some MSP432E4 devices supported a LCD controller.

    Regardless of that, thank you for clarifying the scope of the SimpleLink SDK offering.

  • Hi Chester,

    Honestly I didn't realize there was a E411Y, good to know. I would have to retract that comment then haha.