이번에는 STM32 ARM 시리즈를 사용해야할 상황이 되었습니다.
STM32F411 이 패키지가 3x3 mm 크기인 WLCSP 타입이면서, SDCARD I/F 인 SDIO 포트가 구비되어 있어서
이 MCU를 사용하게 되었습니다.
PSOC 처럼 쉽지는 않아서 익숙해지기 까지는 좀 시간이 걸릴 것 같습니다.
Nucleo 개발 키트를 구매했는데, UART를 테스트 해 보려고 회로도를 보니
디버거와 USB-UART 가 붙어 있어서 USB-UART에 해당하는 UART 포트를 Cube(STM에서 제공하는 툴)로
설정하고 코드를 자동 생성하도록 했습니다.
STM의 Cube라는 툴은 컴파일러가 포함되어 있는 툴이 아니고,
여러 Peripheral 기능을 선택해서 설정만 해 주면, 해당 기능의 소스 코드를 여러가지 컴파일러(IAR,KEIL,GCC..etc)에
맞게 자동 생성해 주는 기능을 가지고 있습니다.
그런데, 사용 예제는 생성해 주지 않고 초기화까지만 해줘서 어떻게 써야 하는 건지 좀 해깔렸는데,
다행이 STM 홈페이지에서 첨부된 예제를 보고 감을 잡을 수 있었습니다.
먼저 Cube 사용법을 알아 봅시다.
1. Cube 를 실행 시켜서 File->New Project 를 클릭.
2. 팝업 창이 하나 뜨는데, 사용할 STM MCU를 선택합니다.
3. 사용할 Peripheral 기능을 선택합니다. 저는 UART 테스트를 위해 일단 UART만 선택했습니다.
Nucleo 보드에서 USB-to-UART 에 연결된 STM32F411 의 포트는 PA2,PA3 이었습니다.
그래서 따로 USB-to-UART 컨버터를 준비하지 않고 테스트하려고, Cube 에서 PA2,PA3에 해당하는 UART를
찾아 보니 UART2 였습니다.
4. 현재 갖고 있는 컴파일러에 맞는 코드를 생성합니다.
5. 팝업창이 뜨는데, 다음의 그림과 같이 프로젝트 이름,위치,컴파일러 종류를 선택하고 OK를 누르면 해당 위치에 소스코드가 만들어 집니다. 저는 KEIL 컴파일러를 사용해서 MDK-ARM V5로 선택했습니다.
KEIL 의 main()함수에 UART 출력 함수를 써서 테스트를 했습니다.
STM ARM 칩은 처음이라, 함수 사용법이 좀 생소하네요. 일단 UART 출력 코드는 다음과 같이 1줄 추가했습니다.
7. teraterm 에서 확인한 내용입니다.
댓글 없음:
댓글 쓰기