TrueSTUDIO로 CMSIS-DSP 사용해보기 – 기초 설정 편

TrueSTUDIO로 CMSIS-DSP 사용해보기 – 기초 설정 편

이제 졸업논문 작성도 얼추 끝났겠다. 한번 달려보려고 한다.

ARM Cortex 아키텍쳐를 사용하면 CMSIS-DSP 라이브러리를 사용할 수 있다. CMSIS에서는 디버거 자작 등 여러가지 자료를 사용할 수 있다. 하지만 단점이 하나 있는데, KEIL에서만 트러블 없이 사용할 수 있다는거다. 정작 코드를 올릴라카면 코드용량 넘었어요 빼애애애애애애액 거려서 돈을 요구한다는게 존나게 빡이치지만, 어쩔 수 있나. 나는 돈이 없다 이마리야.

CMSIS-DSP : DSP 라이브러리. KEIL 사이트 등에서 참고할 수 있다.

그래서 꽁짜로 DSP라이브러리를 사용하려면 뭐 이클립스를 존내게 뚜들기는 방법이 있겠지만, STM을 사용하면 TrueSTDIO를 무료로 사용할 수 있으니, 이걸 뚜들겨보려고 한다. 뭐 그렇다고 해서 이게 간단한건 아니다.

이번 목표라고하면 디지털 필터를 적용해보는 것이다. 귀찮지만 않다면 끝까지 해볼 수 있지 않을까. 언제까지 완성할 수 있을지 모르니까 목차를 서술하지는 않겠다. 시리즈를 시작하면 별도로 추가하던가 할거다.

CUBEMX to TrueSTUDIO

간단하게 설명하자면 CUBEMX에서 프로젝트를 생성하고 TrueSTUDIO에서 작업을 하는 것인데, 디렉토리를 아무리 잘 만들어준다고 해도 한계가 있다. 직접 손수 디렉토리를 방문해서 파일을 복사해서(!) 넣어줘야 한다. 그래서 그냥 간단하게 만들기만 하면 좋겠지만(과거 CUBEMX에서는 좀 간단하긴 했는데, 요즘 버젼은 좀 더 복잡해졌다)

블록도

여튼 뭐 이런식인거다. 그럼 프로젝트 생성부터 해보자.

참, 이번 프로젝트에서 사용할 것은 STM32F411이다. 뉴클레오 보드로 대충 찝적거릴거다.

먼저 CUBEMX부터 켜보자.

STM32CUBEMX

여기서 사용할 보드를 선택하자.

ADC Setting in CUBEMX

ADC도 사용한다. A0핀이면 적당할 것 같다.

Timer Setting in CUBEMX

타이머도 설정한다. 타이머의 값은 0부터 시작하므로 1000, 1000으로 설정할것이라면 999, 999로 기입하여 줘야한다. 자세한건 여기 포스팅을 참고하면 된다.

타이머를 사용하는 이유는, 샘플링률을 정하기 위해서 사용하는 것이다. 샘플링률의 개념을 모른다면..음 디지털 필터를 구현할 수 없다. 나중에 여유되면 샘플링률에 대한 포스팅을 추가로 하겠다. 간단하게 설명하면 타이머 인터럽트가 걸릴 때 마다 ADC를 사용하면 100Hz로 샘플링을 할 수 있다.

Enable Update Interrupt at Timer 1

타이머 업데이트 인터럽트를 활성화 해줘야 동작한다.

Clock Configuration으로 이동해서 클럭 설정을 해준다. 난 100MHz로 설정했다. 그래야 계산하기 쉽기 때문이다.

Clock Setting in CUBEMX

프로젝트 설정을 설정해준다.

CUBEMX로 프로젝트를 생성하면 끝.

댓글 남기기

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d 블로거가 이것을 좋아합니다: