MSPM0, MSPM33 설정
STEP 1 : SysConfig 설정 - Configuration NVM 부분
easyDSP는 TI가 제공하는 SysConfig 기반 생성된 코드를 사용합니다.
하기에서 SysConfig를 설정하는 방법을 SysConfig 1.25.0 기준으로 MSPM0 위주로 설명드립니다.
MSPM33의 경우에도 거의 동일하게 설정하시면 됩니다.
NONMAIN 부분에서 BCR, BSL 관련 설정이 필요합니다.
먼저 BCR Configuration 부분입니다.
Enable Fast Boot Mode는 허용하지 않으며, Enable BSL은 허용되어야 합니다.
다음으로 BSL Configuration 부분입니다.
BSL에 진입하기 위한 BSL 패스워드 32 바이트를 설정합니다. MCU 종류에 따라 패스워드 그대로 입력 또는 SHA256 해시된 값을 입력합니다.
SysConfig의 기본값은 패스워드 32바이트가 모두 0xFF일 경우입니다.
Enable BSL Invoke Pin Check는 활성화하고,
Default BSL Invoke Pin을 사용할 수 있으며, 필요시 BSL Invoke Pin을 설정할 수 있습니다. 단, 이 경우 BSL Invoke Pin Level은 반드시 High로 설정합니다.
BSL UART Pin을 설정하실 수 있습니다. MSPM0는 UART0을 BSL_RX, BSL_TX로 사용하며, MSPM33은 UC12를 BSL_RX, BSL_TX로 사용합니다.
일부 MCU는 Baud Rate 설정이 가능한데 이 경우 9600으로 설정합니다.
마지막으로 BSL Read Out Enable을 활성화 또는 비활성화합니다. 활성화시 플래시 데이타를 읽어서 플래시 Verify 작업을 수행하고, 비활성화시 플래시 CRC을 읽어 Verify 작업을 수행합니다.
주의 사항이 있습니다. NONMAIN 영역의 플래시는 easyDSP에서 프로그래밍할 수 없습니다.
따라서 본 단계에서 처음 설정된 부분이나 이후 변경된 부분은 디버거나 다른 툴로 플래시 프로그래밍이 되어야 합니다.
STEP 2 : 하드웨어 구성
easyDSP와 MCU간의 결선은 하기와 같습니다.
상기 STEP1에서 설정된 값으로 BSL_invoke, BSLRX, BSLTX 핀을 연결합니다.
![]()
기타 주의 사항 :
- /RESET 핀은 MCU NRST에 직결
- easyDSP 헤더 RX, TX 신호는 easyDSP 포드 내부에서 100k 오옴으로 풀업되어 있습니다.
- 부트핀 동작 모드 및 주의 사항은 여기를 참조하시기 바랍니다.
STEP 3 : SysConfig 설정 - 기타 부분
easyDSP는 UART 통신을 위해 DriverLib 라이브러리를 사용하므로 이를 프로젝트에 포함시켜야 합니다.
![]()
또한 NRST핀은 NRST모드로 사용되어야 하므로, Disable NRST Pin을 체크하지 않습니다.
다음은 UART 관련 설정입니다. 이름은 MSPM0, MSPM33 관계없이 UART_0으로 설정합니다.
변수 모니터링용 통신 보드레이트를 선정합니다. 선정된 값은 easyDSP 프로젝트에서 선정된 보드레이트와 동일해야 합니다.
UART 통신 규격은 8비트, no parity, one stop bit입니다.
FIFO는 활성화하며 FIFO Threshold Level은 아래와 같이 설정합니다.
인터럽트는 Receive, Transmit를 활성화시키며 우선 순위는 최하위로 설정합니다.
![]()
먼저 PinMux에서 핀을 설정하고 Pin Configuration에서 각종 설정을 수행합니다.
하기 그림에서는 MSPM0G3519SPZR의 출하 기준으로 BSLRX는 34번핀 , BSLTX는 33번핀으로 할당하였습니다.
TX/RX 핀의 풀업 저항을 활성화시키며, TX핀의 Drive Strength Control은 가능하다면 High로 설정합니다.
상기 STEP2와 같이 MSPM0의 경우 UART0, MSPM33의 경우 UC12를 UART 채널로 선택합니다.![]()
STEP 4 : easyDSP 제공 소스 파일
easyDSP는 TI가 제공하는 driverlib 라이브러리를 사용합니다. 사용자 코드 프로젝트를 생성할 때, driverlib를 포함하여 주세요.
먼저 easyDSP 통신을 위해 제공되는 소스파일 (easyMSPM.h, easyMSPM.c)을 프로젝트에 포함하시기 바랍니다.
해당 파일은 easyDSP 프로그램이 인스톨된 폴더에서 \source\MSPM에서 찾을 수 있습니다.
먼저 main.c 상단에 easyMSPM.h를 include하여 주시고,
main 함수 적절 부분에 easyDSP_init() 함수를 호출하시기 바랍니다.
![]()
STEP 5 : IDE 설정
1. 매 컴파일마다 hex 파일 (인텔 형식) 이 생성되어 출력 파일과 동일한 폴더에 동일한 이름으로 위치하도록 IDE를 설정해주세요. Hex 파일은 플래시 프로그래밍할 때 사용됩니다.
Hex 파일 확장자는 hex 또는 ihex가 될 수 있습니다. easyDSP는 확장자 hex 파일의 존재를 먼저 확인하여 사용하고, 존재하지 않을 경우 확장자 ihex 파일을 사용합니다.
하기 CCS 경우 참조하세요. 특히 CCS 사용시 memory width 옵션을 8로 설정함에 유의하세요.
2. easyDSP로 변수를 억세스하기 위해서는, 출력 파일(예:*.elf)에 debug information이 반드시 포함되어야 합니다.이를 위해 어셈블리/ 컴파일러/링커 옵션을 적절히 선택하시기 바랍니다.
3. 최적화 또는 링커 세팅에 따라, 선언되었지만 실제 사용되지 않는 변수는 debug information에 포함되지 않아 easyDSP에서 모니터링되지 않을 수 있습니다.
이 경우에도 변수를 포함되게 하기 위해서라면, 최적화 수준을 낮추거나, 예를 들어 CCS라면 링커 옵션을 하기와 같이 설정하세요.
다른 개발 환경이라면 적절히 해당하는 세팅이 필요합니다.
4. STEP 1에서 변경된 NONMAIN 영역 플래시를 디버거로 프로그래밍할 경우, CCS의 Debug Configurations에서 하기 옵션 설정이 필요합니다.