MSPM0, MSPM33 Setting


STEP 1 : SysConfig - Configuration NVM

easyDSP uses the code generated by SysConfig.
The following guide describes the configuration process for MSPM0 based on SysConfig version 1.25.0.
The configuration for MSPM33 is almost same to that of MSPM0.

At first, you should set the 'Configuration NVM' item such as BCR and BSL configuration.

First, configure the BCR section. 'Enable Fast Boot Mode' should be disabled, and 'Enable BSL' should be enabled.



Next is the BSL Configuration section.
Set the 32-byte BSL password required to enter the BSL.
Depending on the MCU type, either input the password directly or as a SHA256 hashed value.
If using the default value from SysConfig, the BSL password will be 32 bytes of all 0xFF.
Enable the BSL Invoke Pin Check.
You can use the default BSL Invoke Pin or set a custom one if needed. In this case, the BSL Invoke Pin Level must always be set to High.
You can set the BSL UART Pin. For BSL_RX and BSL_TX, the MSPM0 uses UART0, while the MSPM33 uses UC12.
Some MCUs allow configuring the Baud Rate, which should be set to 9600 in that case.
Finally, enable or disable BSL Read Out Enable. If enabled, the flash data is read to perform a flash Verify operation. If disabled, the flash CRC is read to perform the Verify operation.




Please note: There is a precaution. The flash memory in the NONMAIN area cannot be programmed using easyDSP. Therefore, any initial settings or subsequent changes made in this step must be programmed to the flash using a debugger or another tool.

STEP 2 : Hardware

As confitured in STEP 1 or by TI factory default, connect  BSL_invoke, BSLRX and BSLTX to easyDSP header.

 

Other considerations :
- Direct connection between easyDSP /RESET and MCU NRST.
- RX and TX pins of easyDSP header are pulled up with 100kOhm resistor in the pod.
- In case pull-up resistor is attached, resistor value should be higher than several k Ohm.
- refer tohere  for BOOT pin operation mode.


STEP 3 : SysConfig - Others

Since easyDSP uses the DriverLib library for UART communication, you must include it in your project.


Since the NRST pin must be used in NRST mode, do not check 'Disable NRST Pin'
.


Next, we have the UART configuration. Please name it as UART_0.
Select the communication baud rate for variable monitoring. The selected value must be the same as the baud rate selected in the easyDSP project.
The UART communication protocol is 8 bits, no parity, and one stop bit.

 

Enable the FIFO, and set the FIFO Threshold Level as below picture.
Activate both the Receive and Transmit interrupts, and set their priority to the lowest level.


First, the target pins are determined in 'PinMux', and various settings are performed in 'Pin Configuration'.
In the following figure, based on the factory release of MSPM0G3519SPZR, BSLRX is assigned to pin 34 and BSLTX is assigned to pin 33.
The pull-up resistors for the TX/RX pins are activated, and the 'Drive Strength Control' for the TX pin is set to High if possible.

As shown in STEP2, UART channel should be UART0 or UC12 respectively for MSPM0 and MSPM33.

 

STEP 4 : easyDSP source file 

Please include driverlib from TI in your project since easyDSP uses it for UART communication.
Two files are provided for easyDSP communication (easyMSPM.h, easyMSPM.c). Please include them in your project. You can find them in the easyDSP installation folder (\source\MSPM).
Please include easyMSPM.h in the main.c. And in the main(), call easyDSP_init() after the initialization of MCU.
In the easyDSP_init() function, all the setting for easyDSP monitoring are done.

 
 

STEP 5 : IDE

1. Hex file (Intel format) is used for flash programming. So it should be created in every compiling time in the same folder of output file (ex *.out) with same file name. The hex file extension could be either 'hex' or 'ihex'. easyDSP first check if the hex file with extension 'hex' exists and use it for flash programming. If the hex file with extension 'hex' doesn't exist, easyDSP uses the hex file with extension 'ihex'. Pleae set your IDE accordingly to create hex file in every compiling time.
    Please refer to the setting of CCS. Especially for CCS, memory width should be 8.  

   
    
2. For easyDSP monitoring, the debug information should be included in the output file (for example, *.out). And the option of assembler, compiler and linker should be set accordingly.
3. Depending on compiler's optimization level and linker setting, the unused variables could be excluded from the debug information and not shown in the easyDSP. 
    If you like to avoid this, don't use compiler optimization and set the linker option properly. Like below in case of CCS.
   
4. In case of CCS, to program NONMAIN memory area of flash by debugger, below option should be set in Debug Configuration menu.