본문 바로가기
임베디드.일렉트로닉스/STM32

STM32F 프로젝트 생성 기초 STM32CubeMX + Keil 이용.

by i.got.it 2015. 4. 22.


 

개요

 


STM32F4 시리즈 개발진입을 위한 가장 초기 프로젝트 생성법. 

여러가지 개발방법론이 있으나, 본 글에서 다루는 방법은 아래와 같다.

1. STM32CubeMX 로 설정(클럭, Peripheral  사용유무등) 작업하여 KEIL MDK ARM 형식의 프로젝트 자동 생성.

2. 상기 1에서 자동생성된 프로젝트를 KEIL MDK ARM 에서 사용자 코드 추가.

칩의 설정이 변경되어야 하는 경우 다시 1을 수행하여 2에서 사용자 코드 작업 하게된다.


본 글에서는 전체적인 흐름을 파악함이 주목적이므로 STM32칩의 설정은 가장 간단한 외부 크리스탈 사용하는것으로 설정하는 것과  JTAG 핀만 할당시키는 것을 설정의 예로 한다. 


 


 


STM32CubeMX 실행하여 New Project 클릭.



MCU 선택창에서 아래 붉박 처럼 선택하고 OK 버튼 클릭.

- 본 예에서의 타겟칩은 STM32F401VCT6 으로 한다. 참고 : STM32F401VCT6 장착 개발보드 예 


해당부품이 선택된 상태에서 STM32CubeMx 초기 상태가 보이게 된다. 먼저 현재의 설정을 저장하기 위하여 

File -> Save Project As... 클릭하면 아래 처럼 저장대화상자가 뜬다. 여기에 이름을 적당히 기록하고 save 버튼 클릭.


클럭설정. 

외부에 연결된 크리스탈 기반으로 시스템 클럭을 공급하려는 경우, 화면좌측에서 RCC 하위의 High Speed Clock 를 Crystal 로 선택한다. 

이것을 선택하면 칩에서 해당핀이 자동으로 할당(아래그림 파랑박스처럼)된다. 


MCU 에서 JTAG핀은 디버거(ST-LINK/V2) 등을 연결할 것이기 때문에 기능 고정해둔다.


탭 Clock Configurator 에서, 


1 : 외부크리스탈에 해당하는 주파수를 MHz단위로 기록한다. 본 예의 경우 8

2 : PLL Source Mux 를 HSE로 선택한다.

3 : 8선택. 

4 : x336 선택.

5 : /4 선택. 

1,3,4,5 에 의하여 SYSCLK는 84MHz 로 된다. STM32F401의 최대클럭으로 설정한 예이다. 이보다 작게 예를들어 48MHz 로 선택해도된다. 

6 : APB1 PreScaler 를 /2 로 선택한다.


메뉴 : Project -> Settings... 클릭하여 뜬 아래 창에서, 

Toolchain /IDE를 선택한다. 본 예의 경우 KEIL MDK-ARM을 사용할 것이므로 MDK-ARM을 선택함.


탭 Code Generator에서 적당한 설정을 하는데, 중요한것은 아래 붉박이다. STM32CubeMX에서 자동으로 코드 생성할때 우리가 작성해둔 코드는 유지하라는 설정이다. 


자동 프로젝트 생성.

앞에서 지정한 설정으로 KEIL MDK-ARM 형식의 프로젝트 생성하는 과정. 

아래그림처럼 Generatoe Code 클릭한다.


잠시후 자동프로젝트 생성완료된 화면이다. 바로 KEIL MDK-ARM 에서 사용자 코드 추가하려면 Open Project 클릭한다.



Keil MDK-ARM 에서 프로젝트가 오픈되어 보인다. 

왼쪽 파랑색 박스에서 자동생성된 프로젝트의 구성요소들이 보이며, main.c 파일을 열어보면 아래처럼 자동으로 추가된 코드들이 있다. 이제 우리는 여기에 코딩진행하면된다. main.c 에서 우리가 추가할 코드는 주석으로 USER CODE BEGIN .. 과 USER CODE END 사이에 기록해야한다. 

왜냐하면 CubeMX를 다시 수정하여 코드 자동생성하는 경우에도 이 장소에 기록해둔 우리의 코드는 보존되기 때문이다. 


이 과정까지가 STM32CubeMX  로 설정작업하고 KEIL MDK-ARM에서 사용자 코드 작업 할 수 있는 상태를 달성하는 과정 핵심 골격이다. 

이후 keil에서 코드 작업하다가 설정변경해야하는 경우에는 다시 STM32CubeMX   실행하여 위 절차 반복한다.



 

 본 글이 포함된 상위 정리장소 : http://igotit.tistory.com/244

 

 


/// 271.

댓글



 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5