I am planning an update for a product that currently uses a TM4C123 MCU. That MCU does everything needed, but having only 256K of flash memory limits what we can do in future software updates. I don't think there are any TM4C123 MCUs with more flash. Since we are using the TivaWare libraries (GPIO, SSI, I2C and graphics), using another MCU in the Tiva family is the most obvious path, and as far as I know that means one of the TM4C129 MCUs. I think that any of them with 1024K flash would work; we don't need any of the features that differ between the various parts. We could deal with either package.
My concern is that the Tiva MCUs don't seem to be getting much attention from TI, with no new parts in years (AFAIK). The functionality of the existing parts is fine, but I am concerned that they were released a long time ago (2007 or so?) and may be nearing the end of their lifecycle (1). Are any of them popular enough that they will stay in production a long time?
We could also consider a different MCU family. If it didn't support the TivaWare library, we could adapt most of the code (GPIO, SSI, I2C) to a different library without much trouble. Would the TivaWare graphics library license let us port it to a different processor as long as it is made by TI? It doesn't have any hardware dependencies (it depends on the user to provide that layer), so it seems like it should port easily. Is there another graphics library with similar functionality (sending updates only for changes, rather than writing to a framebuffer) we should consider as a replacement?
If we switched MCU families, we might use more flash since the library (at least the TivaWare graphics library) wouldn't be built into the MCU's ROM as it is on the Tiva parts, but 1MB would still probably be enough. We might also consider dual cores (possibly in lockstep). We have no use for Linux or Android on this product, but an RTOS might be useful. Long term availability is really important. Built-in Bluetooth would be nice, if it has high enough TX power or a way to use an amplifier (although our quantities are low enough that it might be better to use a pre-certified module for Bluetooth). Any recommendations for which MCU to use would be great!
Thanks,
Steve
1. https://www.ti.com/support-quality/quality-policies-procedures/product-life-cycle.html