| [개요] |
개인적인 스타일로는 어떤 컴파일러를 사용하던 간에 처음 프로젝트파일을 만들어서
오류없이 빌드 되는것을 중요하게 생각하는 편입니다. 게다가 IAR 같은경우에는 다룰 기회가 그다지
없어서 나중에 잃어버릴까봐 기록해두려 합니다.
1. ST Standard Library Download
우선 st 사의 보드를 기반으로 프로젝트를 생성할 예정이므로 관련 라이브러리를 다운받도록 하겠습니다.
http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1743/LN1939
위의 링크를 통해 들어가서 자신에게 맞는 시리즈의 라이브러리를 받도록 합니다.
저의 경우에는 stm32f10x 시리즈용 라이브러리를 받도록하겠습니다.
http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/LN1939/PF257890#
위의 링크 아래 하단으로 가면
이러한 부분이 있습니다. 여기서 다운로드하여 사용하였고 이를 기반으로 아래 프로젝트를 생성하겠습니다.
2. IAR 기반의 Project 생성 및 설정 방법
우선 프로젝트를 처음 생성하기에 앞서 Workspace를 하나 만들어주고
project를 생성합니다.
empty project 로 생성하고 project명은 default로 설정하였습니다.
group을 만들어줍니다. group명은
CMSIS , header, source, library, Startup 으로 만들었습니다.
Workspace명도 default로 저장하였습니다.
각 CMSIS group은 다음과 같은 소스 파일을 add 해주겠습니다.
library group은 다시 lib_header와 lib_source group으로 서브그룹을 나눠주었으며
lib_header 그룹안에는 아래와 같은 소스 파일을 add 해주고
lib_source 그룹안에는 아래와 같은 소스코드를 add 해주었습니다.
그리고 library 그룹안에는 아래와 같은 소스코드를 넣어줍니다.
header 그룹과 source 그룹은 개인적으로 만든 코드파일을 넣는 그룹으로 사용하겠습니다.
Startup 그룹에는 아래와 같은 파일을 넣어주겠습니다.
다음은 프로젝트의 옵션을 설정해주겠습니다.
우선 General Options - Target 은 자신이 사용할 MCU로 선택해줍니다.
그리고 General Options - Library Configuration 에서 CMSIS 를 use로 체크하고
C/C++ Compiler - Preprocessor 에서 아래와 같이 각 directory 들을 include 해줍니다.
(여기서 directory들은 미리 왼쪽 project tree에 group들과 동일한 이름으로 실제 프로젝트안에 만들어주었습니다.)
실제 프로젝트 안의 내용은 아래와 같고 그이름과 동일하게 PATH를 잡아주면 되는것이고 헤깔릴 것 같아서 저같은경우에는 Group과 Directory 명을 같게 했을뿐
다르게해도 상관은 없습니다.
160403 - 수정 위에 오타가 났네요.
STM32F20X_MD_VL -> STM32F10X_MD_VL
그리고 Output Converter - Output 옵션은 아래와 같이 만들어 주었는데 앞으로 진행될 프로젝트에는 필수적으로 필요하지는 않은 부분입니다.
Linker - Config 옵션을 아래와같이 맞춰줍니다.
Debugger - Setup 은 ST-LINK로 선택하겠습니다.
ST-LINK 옵션은 아래와 같이 설정하겠습니다.
이렇게 설정을 종료합니다.
오류가 나는 경우에는 다시한번 위에서부터 확인하면서 그대로 수행해주시면 되겠습니다.
이후에 공부해볼 보드는 아래의 보드 이며 관련자료는 링크를 해두도록 하겠습니다.
3. (추가 검토 사항) Debug 진입시 항상 프로그램 다운로드 옵션
아래사진과 같이 Debugger - Download 탭에 Use flash loader 를 체크해주어야 iar상에서 디버그 모드로 들어갈때 프로그램을 다운로드하게 됩니다.
다른 프로그램을 이용하여 프로그램 다운로드를 할것이 아니면 아래 옵션을 체크해주셔야 합니다.