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.

TI ARM MCU Select

Hi TI,

At the start stage of product research,we should select a suitable MCU,which factors we should consider?How to estimate the sizes of RAM and ROM and so on?

Best regards,

Frank 

  • Hello Frank,

    It should be based on the requirements of your application:

    1. temperature: some applications requires -40~125degree, some may only require -40~85degree, etc. Hercules has two families: TMS570LSx/LC43x and RMx. TMS570 supports -40~125degree, and RMx supports -40~105degree.

    2. frequency: Herecules has many choices from 80MHz to 330MHz

    3. size of internal flash: Hercules has up to 4MB flash

    4. size of internal RAM:  Hercules has up to 512KB

    5. peripherals: UART, SPI, CAN, Flexray, ADC, USB, Ethernet, GIO, NHET, ePWM, eCAP, etc (please refer to the datasheet)

    6. Safety features:

    Hercules MCUs provide a high level of diagnostic coverage in hardware so that customers can optimize performance and code size by reducing complex safety software.

    • LockStep CPUs -- 1oo1D safety concept
    • CPU Built-In Self-Test (BIST) controller
    • ECC on FLASH and RAM
    • ECC calculation in CPU checks the interconnect
    • Memory BIST on CPU and peripheral RAMs
    • Clock and voltage monitoring
    • Error signaling module with error pin
  • Hi QJ,
    Thanks.But I want to know how to decide the size of RAM and Flash?What's the relationship between the code size and the needed RAM/Flash size?And what's the key factor to final code size?Is that variables number or others?
    Best regard,
    Frank
  • Hello Frank,

    If you have you SW ready, the map file will tell you the code size. You can use any size of flash which is bigger than your code.
    If you have't started your project (SW, HW), and want to estimate the flash and RAM size:
    1. Do you need OS? which OS? for example FreeRTOS, AutoSAR, etc --- the OS has estimation
    2. Do you want to have a layered architecture which may consume RAM. For example USB stack, Ethernet stack, etc -- the stack has estimation too
    3. What libraries are you going to use, and how many memory do those libraries need? --normally the library documentation tell you the estimation
    4. You own drivers, variable, and structures, etc.
    Summing up all those values gives you a rough estimation.

    Another way is to use a powerful MCU with big RAM and flash for development. Once the size of the code is known it is usually sufficient to select the smallest part that will contain that.