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.

MSP432P401R: Migrating into MSP432 from C2000

Part Number: MSP432P401R

Hi,

I recently bought MSP432-Launchpad, I am now completely confused with all the registers term and naming conventions.

I have been long time Piccolo and Delfino users, at first I thought it wont be this hard. I realize that the documentation style is extremely different compared to C2000 family.

Does anyone can recommend me what is the best resource I can learn from? is there any code generator for MSP432?what is the underlying difference between the C2000 and ARM that makes it rather difficult to learn?

Thanks

Arief

  • I suggest ditching the registers altogether and use Simplelink/Driverlib which have functions to set the registers for you. It even has many of the functions in ROM, so your program does not need to waste flash adding system functions.
  • Arief,

    C2000 and MSP432, though both are 32-bit processors, are completely different MCU architectures all together. The number of differences is very vast and would be hard to summarize.

    The best place to start to get to know SimpleLink MSP432 devices is SimpleLink Academy: dev.ti.com/.../

    SimpleLink™ Academy provides a comprehensive set of training tools that allow users from beginners to experienced developers to learn about the SimpleLink MCU Platform. The academy delivers training modules that span a breadth of topics including fundamental SDK components such as an introduction to TI-RTOS and leading up to 'Getting Started' labs for all products in the SimpleLink MCU family.

    The SimpleLink MSP432 SDK encompasses all our examples for the MSP432. The SDK for MSP432 is available here:
    www.ti.com/.../simplelink-msp432-sdk

    dev.ti.com/tirex is another great resource as well for exploring examples without having to download the full SDK. Here you can see our register level examples, driverlib API examples and our TI Drivers examples which use TI-RTOS/FreeRTOS.
  • Thanks Evan,

    I am quite aware of the TI rtos and simple link,

    My main problem is, I am very used to the very detail level of mcu documentation. And what confuses me the most is, I dont get the same level of explanation for each line of code I found in the example compared to C2000. In C2000, when I initialize some peripheral, I completely understand all the value I put each register hoewever, in Msp432 or ARM code example in general I always see in the peripheral driver init, but dont get the explaination why they put that value, and why they use this particular register instead of that register.

    Any comment on that?

    Arief,

  • Can you give an example?

    Note that there are two documents that explain this, the MSP432 *family* reference and the MSP432P401 Data sheet.
  • Arief,


    As Keith mentioned, there is a Technical Reference Manual, which covers more of the functionality of each IP, as well as register descriptions, default values, values that needs to be set to enable various functionality, port mapping etc.


    Then there is the datasheet which showcases more device specific information such as max operating temperature conditions, variations between each part (256kb vs 128kb, etc). Operating voltages, current consumption and what not.

    Datasheet: http://www.ti.com/lit/gpn/msp432p401r

    TRM: http://www.ti.com/litv/pdf/slau356f

  • Arief,

    It's also good to use the API guides for TI Drivers and Driverlib as a good reference. dev.ti.com/.../
  • Hi Keith,

    back in C2000, the documentation are categorized into each peripheral with example for each peripheral and detail explanation for each registers. for example
    SPRUGE9E: TMS320x2802x, 2803x Piccolo Enhanced Pulse Width Modulator (ePWM) Module
    SPRUGE5F: TMS320x2802x, 2803x Piccolo Analog-to-Digital Converter (ADC) and Comparator
    SPRUGL8C: TMS320x2803x Piccolo System Control and Interrupts Reference Guide, etc

    I guess I am a little bit spoiled and have my mind attached too much to the previous platform. But really, piccolo documentation is really convenient.

    Now I am stucked and confused with the clock structure, the DCO, how a system has so many clocks. I understand that C2000 is a powerful platform yet really simple 32bit mcu compared to ARM, but I really hope there will be a documentation with similar style in ARM family.

    Now, I will try to learn from the suggested document.

    Arief,

  • Arief,

    Sorry you feel our documentation is lacking. I'll take that as a note. If you have any questions or need help clarifying your understanding of our ARM MCUs, please feel free to ask more questions in this forum. Just create a new topic for each topical question you have. We would love to help you understand the clock system more.

    To give you a little background, there are a number of clock sources available because they all serve different purposes whether it's focused towards having a slow clock source in low power modes, waking up and using a faster clock source to process information quickly or a clock to source various IP, ADC's etc. The best overview of the Clock System on the MSP432 is in Section 5 of the TRM. Figure 5-1 has a block diagram that provides all the various sourcing routes.
  • I feel your pain about clocks. I have the redboard with the 48MHz crystal, and all this time I have been using the DCO in my touchscreen program, which AFAICT, does not use the crystal at all. I assumed that the DCO used the crystal for reference.
  • thanks Evan. I hope in the future there could be a better style documentation. currently I am reading that technical reference. I can see the light in the end of the tunnel, but it is still not that easy to digest.

    I understand some possible difference why the documentation has different level of depth might be because C2000 is one of TI flagship line of MCU and TI itself build it from scratch, while MSP432 use ARM M4F platform. and honestly, I have come across to another ARM from STMicroelectronics, and they also dont have the documentation the way I hope.
  • hha...yes...I agree, the multiple number of clock sources, and and clock buffer line really confuses me a lot. it makes me stuck because I am typically dont continue until I completely understand...hha

**Attention** This is a public forum