MSPM0 설정


STEP 1 : SysConfig 설정 - NONMAIN 부분 

easyDSP는 TI가 제공하는 SysConfig 기반 생성된 코드를 사용합니다.  하기에서 SysConfig를 설정하는 방법을 SysConfig 1.16.1기준으로 설명드립니다.
먼저 NONMAIN 부분입니다. BCR, BSL 관련 설정을 할 수 있습니다.
만약 공장 출하 초기값을 사용하시려면 STEP 1은 생략하셔도 됩니다. 그렇지 않다면 하기를 참조하세요.

먼저 BCR Configuration 부분입니다.
Enable Fast Boot Mode는 허용하지 않으며, Enable BSL은 허용되어야 합니다.



다음으로 BSL Configuration 부분입니다.
필요시 BSL에 진입하기 위한 비밀번호 32 바이트를 설정합니다. 초기값은 32바이트 모두 0xFF입니다.
Enable BSL Invoke Pin Check는 활성화하고,
Default BSL Invoke Pin을 사용할 수 있으며 필요시 BSL Invoke Pin을 설정하실 수 있습니다. 단, BSL Invoke Pin Level은 반드시 High로 설정합니다.
필요시 BSL UART Pin을 설정하실 수 있습니다.
마지막으로 BSL Read Out Enable을 활성화합니다.



주의 사항이 있습니다. NONMAIN 영역의 플래시는 easyDSP에서 프로그래밍할 수 없습니다. 따라서 변경된 부분은 디버거나 다른 툴로 플래시 프로그래밍이 되어야 합니다.


STEP 2 : 하드웨어 구성

easyDSP와 MCU간의 결선은 하기와 같습니다.
상기 STEP1에서  설정된 값으로 BSL_invoke, BSLRX, BSLTX 핀을 연결하거나,
STEP 1을 생략하고 공장 출하 기준 초기값을 사용할 경우, BSL_invoke, BSLRX, BSLTX 핀은  MCU 종류 및 BSL configuration에 따라 다르므로 타켓 MCU의 데이타시트를 참조하시기 바랍니다.
예를 들어, 공장 출하 초기 기준으로, MSPM0L1306xRHB의 경우 BSLRX는 26번핀 , BSLTX는 27번핀, BSL_invoke은 22번핀이며, MSPM0G3507SPM의 경우 BSLRX는 57번핀 , BSLTX는 56번핀, BSL_invoke은 11번핀입니다.
참고로 BSL_RX, BSL_TX는 UART0으로 사용됩니다.

 

기타 주의 사항 :
- /RESET 핀은 MCU NRST에 직결
- easyDSP 헤더 RX, TX 신호는 easyDSP 포드 내부에서 100k 오옴으로 풀업되어 있습니다.

STEP 3 : SysConfig 설정 - UART 부분 

BSL_RX, BSL_TX 핀은 항상 UART0이므로, UART_0 이름으로 UART0 채널을 생성합니다.
보드레이트를 선정합니다. 선정된 값은 easyDSP 프로젝트에서 선정된 보드레이트와 동일해야 합니다.
UART 통신 규격은 8비트, no parity, one stop bit이며
FIFO는 활성화하며 FIFO Threshold Level은 아래와 같이 설정합니다.



인터럽트는 Receive, Transmit를 활성화시키며 최하위 우선순위로 설정합니다. TX/RX 핀의 풀업 저항을 활성화시키며,
UART0의 RX/TX 핀을 설정합니다. 하기 그림에서는 MSPM0G3507SPM의 출하 기준으로 BSLRX는 57번핀 , BSLTX는 56번핀으로 할당하였습니다.

 
 

STEP 4 : easyDSP 제공 소스 파일

easyDSP는 TI가 제공하는 driverlib 라이브러리를 사용합니다. 사용자 코드 프로젝트를 생성할 때, driverlib를 포함하여 주세요.

먼저 easyDSP 통신을 위해 제공되는 소스파일 (easyMSPM0.h, easyMSPM0.c)을 프로젝트에 포함하시기 바랍니다.
해당 파일은 easyDSP 프로그램이 인스톨된 폴더에서 \source\MSPM0 에서 찾을 수 있습니다.

먼저 main.c 상단에 easyMSPM0.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에서 하기 옵션 설정이 필요합니다.