본문 바로가기
Study/SPC5 STUDIO

SPC5 STUDIO 개발환경 구성하기

by Answer Choi 2021. 5. 26.
반응형

SPC5 STUDIO는 ST의 자동차용 제품 설계를 위한 펌웨어 개발툴입니다.

 

SPC5 STUDIO 다운로드

 

SPC5 STUDIO는 위 링크를 통해 무료로 다운로드가 가능하며, 회원가입을 하셔야 합니다.

 

개발보드는 SPC584B-DISP를 사용하였습니다.

 

SPC584B-DISP는 25만원 정도면 구입가능합니다.

 

디버거의 경우 Trace32나 PLS를 이용해야 하는데 위 개발보드의 경우 

 

USB를 통해 PLS 디버거를 이용가능합니다.

 

이제 SPC5 STUDIO를 실행하고 개발보드를 연결합니다.

 

간단한 테스트를 위해 오른쪽 TAB에 있는 Import samples from application library를 선택합니다.

여러 개발보드들이 나오는데 가장 비슷한 SPC584B70E5를 선택합니다.

이미 개발보드에 들어있는 데모코드인 Serial Test를 위해 위와 같이 선택합니다.

오른쪽에 있는 탭의 generate application code를 클릭하여 코드를 생성합니다.

코드가 생성되면 컴파일을 실행합니다.

 

하지만, 다운로드를 하실수 없을꺼예요.

 

SPC5-UDESTK 다운로드

개발보드의 PLS디버거를 이용하기위해 SPC5-UDESTKSW를 다운로드합니다.

 

그리고 UDE-STK를 실행합니다.

 

open workspace를 선택하여 SPC5 STUDIO의 테스트 코드 폴더로 이동후 하위의 UDE폴더로 이동 후

 

debug.wsx파일을 엽니다.

 

프로그램을 열꺼냐는 메세지가 뜨는데 OK클릭

 

프로그램을 flash에 넣어줍니다.

 

이제 프로그램을 실행시킵니다.(단축키는 F5입니다.)

 

개발보드의 LED가 깜박이면서 터미널에 메세지가 출력되는 것도 확인하실 수 있습니다.

 

참고로 default baudrate는 38400입니다.

 

LED 토글을 조금 바꿔보겠습니다.

 

if (sd_lld_write(&SD5, message, (uint16_t)(sizeof(message)/sizeof(message[0]))) == SERIAL_MSG_OK) {
      pal_lld_togglepad(PORT_F, PF_LED1);
      osalThreadDelayMilliseconds(300);
      pal_lld_togglepad(PORT_F, PF_LED2);
      osalThreadDelayMilliseconds(300);
      pal_lld_togglepad(PORT_F, PF_LED3);
      osalThreadDelayMilliseconds(300);
      pal_lld_togglepad(PORT_F, PF_LED1);
      pal_lld_togglepad(PORT_F, PF_LED2);
      pal_lld_togglepad(PORT_F, PF_LED3);
      osalThreadDelayMilliseconds(500);
    }

 

현재 기본코드는 메세지 출력후 LED1 on ->LED2 on -> LED3 on -> all LED off 순입니다.

 

if (sd_lld_write(&SD5, message, (uint16_t)(sizeof(message)/sizeof(message[0]))) == SERIAL_MSG_OK) {
      pal_lld_togglepad(PORT_F, PF_LED1);
      osalThreadDelayMilliseconds(300);
      pal_lld_togglepad(PORT_F, PF_LED2);
      osalThreadDelayMilliseconds(300);
      pal_lld_togglepad(PORT_F, PF_LED3);
      osalThreadDelayMilliseconds(300);
      pal_lld_togglepad(PORT_F, PF_LED1);
      osalThreadDelayMilliseconds(300);
      pal_lld_togglepad(PORT_F, PF_LED2);
      osalThreadDelayMilliseconds(300);
      pal_lld_togglepad(PORT_F, PF_LED3);
      osalThreadDelayMilliseconds(300);
    }

LED의 토글순서를 LED1 on ->LED2 on -> LED3 on -> LED1 off ->LED2 off -> LED3 off 로 바꿔보겠습니다.

 

코드변경은 SPC5 STUDIO로 이동후 main.c에서 변경합니다.

 

변경후 파일을 저장한 후 컴파일을 실행합니다.

 

※ 파일저장시 인코딩 오류가 뜰 수 있습니다. UTF-8로 바꿔주세요.

 

다시 UDE STK로 오시면 자동으로 파일이 로드되고 프로그램 창이 뜹니다

 

프로그램 후 다시 실행해주세요.(F5)

 

LED가 스르륵 스르륵으로  바뀐걸 확인하실 수 있습니다.

 

 

반응형

인기글