#5. 면접준비-MSP430 MCU 다뤄보기(Code Composer Studio) 튜토리얼

취준이야기 2023. 5. 4. 04:20
반응형

Ti korea 지원 및 면접을 위해 MCU관련 프로그램을 다뤄보고자 Ti 사의 launch pad 제품군중 2009년 출시된 MSP430 MCU를 알리에서 주문하여 CCS 프로그램을 활용해보았다.(아직 검색을 통해 코드를 찾아보는중)

주문은 이곳에서 하였다. (MSP-EXP430F5529LP)

https://ko.aliexpress.com/item/1285402278.html?spm=a2g0o.productlist.main.25.64e669f7a7ZWTa&algo_pvid=aab7a9e5-bd32-45f5-90fd-63c9be301575&algo_exp_id=aab7a9e5-bd32-45f5-90fd-63c9be301575-12&pdp_npi=3%40dis%21KRW%2137844.0%2125358.0%21%21%21%21%21%40211bea6216830511266774557d07ea%215495703119%21sea%21KR%210&curPageLogUid=OCjdyLVXB3JA 

 

25339.0₩ 33% OFF|무료 배송! 오리지널 TI MSP430 MSP EXP430G2 런치 패드 개발 보드, 1 개|development board|ti ms

Smarter Shopping, Better Living! Aliexpress.com

ko.aliexpress.com

 

 

1. 설치 및 환경설정


구성은 단촐하게 설명서와 보드 그리고 마이크로 5핀 usb 케이블로 구성되어 있다.

다음파일은 MSP430F5529의 datasheet이다.

msp430f5529.pdf
4.25MB

현재 Ti 사에서 제공하는 툴은 CCS(Code Composer Studio)와 Sysconfig 툴 두가지로 구성되어 있는듯 한데, 아마도 Sysconfig가 최근에 더 발전된 툴로 나온듯 하다. 먼저 CCS를 활용하여 MCU를 구동해보자.

프로그램 다운로드는 

https://www.ti.com/tool/CCSTUDIO?utm_source=google&utm_medium=cpc&utm_campaign=epd-der-null-58700007974763228_code_composer_rsa-cpc-evm-google-kr_int&utm_content=code_composer&ds_k=Code+Composer&gclid=Cj0KCQjw6cKiBhD5ARIsAKXUdya2V-oGEAoV4O47RPqzllII_XLqGzyZtGTPNWjS1RbekmsDTdz2SV8aAjhbEALw_wcB&gclsrc=aw.ds 

 

CCSTUDIO IDE, configuration, compiler or debugger | TI.com

download Windows single file (offline) installer for Code Composer Studio IDE (all features, devices)  — 1228217 K

www.ti.com

이곳에서 가능하다. 다운받아 설치한다.(설치시엔 경로안에 한글이 포함되면 안되는듯 하다. 다운받은 파일을 C드라이브에서 실행시켰다.)

설치시엔 custom install을 통해 원하는 기기에 해당하는 요소만 설치할수도 있다. MSP430 관련만 설치한다.

 

다운을 받고 USB를 통해 기기를 연결한다. code example은 ti 공식 홈페이지에 있는 것을 활용한다.(그러나 code example의 경우 외부기기가 추가적으로 연결될때 사용할듯 하다.)
https://www.ti.com/tool/MSP430-FUNCTION-CODE-EXAMPLES

 

MSP430-FUNCTION-CODE-EXAMPLES Code example or demo | TI.com

download UART_SW_Controlled_RGB_LED_Color_Mixing.zip  — 32 K

www.ti.com

다운로드 목록 가장 아래쪽에 모든 코드를 압축파일로 받을 수 있다.

https://wikidocs.net/book/2477

 

2. LED ON/OFF


 

MSP430 마이크로프로세서

이 책은 TI(texas Instruments) 사의 MSP430 프로세서 시리즈 중 MSP430F5529 프로세서를 다룬다. 이에 TI 사에서 쉽게 개발할 수 있도록 만든 런치…

wikidocs.net

이곳에서 msp430에 대한 튜토리얼을 확인해볼 수 있었다. 간단하게 LED ON/OFF를 구현해본다.

초기화면에서 File- new ccs project로 들어가서

basic example에 LED를 깜박거리는 예제가 있다. 열어주면

이렇게 예제 코드가 나오게 된다.

#include <msp430.h>				

/**
 * blink.c
 */
void main(void)
{
	WDTCTL = WDTPW | WDTHOLD;		// stop watchdog timer
	P1DIR |= 0x01;					// configure P1.0 as output

	volatile unsigned int i;		// volatile to prevent optimization

	while(1)
	{
		P1OUT ^= 0x01;				// toggle P1.0
		for(i=10000; i>0; i--);     // delay
	}
}

run-debug를 해주면 처음에는 펌웨어 업데이트가 진행되게 된다.(중간에 에러가 나오면 ignore해도 된다.)

debug 하면 다음과 같이 디버깅이 실행되고 선언한 변수들의 값과 위치를 확인할 수 있다.

디버깅이 완료되었다면 상단의 재생(run) 버튼을 눌러 동작을 확인한다.

보드의 LED가 깜박임을 알 수 있다.

 

#include <msp430.h>				


/**
 * blink.c
 */
void main(void)
{
	WDTCTL = WDTPW | WDTHOLD;		// stop watchdog timer
	P1DIR |= 0x01;					// P1을 output으로 선언

	volatile unsigned int i;		// 변수 i 선언, volatile 은 변수가 다른 스레드에서도 쓰일수 있도록 선언

	while(1)
	{
		P1OUT ^= 0x01;				// p1의 출력을 계속해서 0과 1이 반복되도록 한다.
		for(i=10000; i>0; i--);     // delay값, 마이크로second 단위인듯 하다.
	}
}

레지스터 이름

PxDIRDirection Registers

PxDIR Direction Registers Bit = 0 : input direction / Bit = 1 : output direction 해당 레지스터가 0이면 핀을 Digital In(입력모드), 1이면 핀을 Digital Output(출력모드)

 

위 코드에서 P1DIR |= 0x01로 설정한 것이 digital output으로 설정한 것임을 알 수 있다.

PxOUT Output registers

PxOUT Output Registers Bit = 0 : input direction / Bit = 1 : output direction 해당 레지스터가 0이면 0볼트, 1이면 5볼트를 출력

 

위 코드에서 P1OUT ^= 0x01로 설정한 것이 P1 output regiter가 0볼트와 5볼트를 토글하도록 설정한 코드임을 알  수 있다.

datasheet 상에서 P1DIR을 검색해본 회로도, 1로 설정시에 output으로 설정됨을 알 수 있다.

시간이 더 나면 스위치 및 인터럽트에 관해서 더 작성해보겠다.

 

 

반응형

'취준이야기' 카테고리의 다른 글

#7. 면접준비-texas instrument  (0) 2023.05.17
#6. 면접준비-Ti사 뉴스  (2) 2023.05.15
#4. 면접준비-Filter  (0) 2023.05.03
#3. 면접준비(회로이론)-추가중  (0) 2023.04.29
#2. 면접준비  (0) 2023.04.28