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.

MSPM0L1227-Q1: Developing a Universal Programmer for TI Microcontrollers: Key Information and Guidance Needed

Part Number: MSPM0L1227-Q1


Tool/software:

Hello everyone,

I am working on creating a universal programmer for TI microcontrollers and need some guidance:

  1. Software Development:
    What essential information is required to develop the software for a universal TI microcontroller programmer?

  2. Memory Mapping:
    How can I obtain the memory mapping for various TI microcontrollers?

  3. File Format Decision:
    How should I decide whether to send a binary (.bin), Intel hex (.hex), or ELF (.elf) file to the microcontroller? What factors influence this decision?

  4. Existing Tools:
    How do existing development environments like Code Composer Studio (CCS) manage programming TI microcontrollers?

Any advice, documentation links, or insights would be greatly appreciated.

Thank you in advance for your help!

  • Hi Prit,

    I'm going to provide some brief answers here on this thread, but I want to add the note that this is a pretty big undertaking and will definitely require quite a bit of reading and research on your part. I am happy to provide some steps to get started and answers to specific questions in the future.

    1) Essentially, you need to have a configuration for all of the necessary registers in the device, the memory map for each device, and a way to actually write this configuration and application out and program to the device. Meaning you need an IDE or custom toolset to develop the code and create your application binary. On the programmer side, you need the hardware to connect to the target device, and you need to tell that hardware how to communicate with the MSPM0. Assuming you intend to program the device via SWD, you'll need to be able to send valid SWD commands to the device. 

    2) You can refer to the linker files in our SDK for memory mapping, and you can refer to the memory section of each device's datasheet.

    3) This is pretty much up to the end designer. In CCS, we offer ways for customers to generate any of these formats, and program to a device. It is up to your programmer software to take the application binary file and translate it into SWD commands to the target device. In my experience I switch between various formats sometimes for readability.

    4) CCS takes care of software development, compiling, linking, translating the output file to other formats. Then it also manages a target configuration that determines how your PC + debugger will connect to the target device. It allows a user to form the connection to the target device, then it allows you to flash the device by sending the application binary to the target via SWD. 

    A critical piece on the MSPM0 side is the debug subsystem, which luckily we have an application note detailing this and I encourage you to look over it. Good Luck!