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

STM32 개발시 SW4STM32 / KEIL MDK-ARM 멀티 개발 환경

by i.got.it 2018. 11. 27.



 

개요

 

타겟 MCU STM32 펌웨어 프로젝트 생성시 SW4STM32 에서도 작업가능하고 , 동일 프로젝트를 KEIL MDK-ARM 에서도 작업가능하게 프로젝트 멀티 IDE 환경( 폴더 및 STM32CubeMX 에서 프로젝트 생성등 ) 구축 방법 정리. 


SW4STM32, KEIL MDK-ARM 동시 개발환경 필요성. 


- SW4STM32의 컴파일러와 KEIL MDK-ARM 의 컴파일러가 다르고, 동일 소스임에도 컴파일러에 따라 다른 작동을 보여주는 경우도  간혹 있다. 2개 컴파일러 중 더 만족스러운 동작을 보이는것을 최종 활용할 목적 혹은 2개 IDE모두 오류없는 소스코드의 완성도 높일 목적.
- KEIL MDK-ARM 은 유료 툴이고 가격도 비싼 편이다. 팀내 다른 사람이 이미 MDK-ARM 라이센스 모두 사용 중에도 코드 편집 및 시험은 무료인 SW4STM32 에서 진행가능하다. 

 
 


 


 

멀티 프로젝트 폴더 구성 상황.

 

 루트 폴더  

 - 폴더이름 : WORK_MultiSTM32CubeMX 
 - STM32 프로젝트 폴더들 담아둘 용도임.
 - 폴더 이름이야 뭘하든 무방하나, 이후 해당 폴더를 볼때 이 폴더 속의 것들은 멀티(KEIL MDK-ARM 과 SW4STM32) 개발환경임을 바로 인지 가능한 것이 좋다.   
  

 STM32 프로젝트 폴더 구성 예.

- 루트 폴더에 STM32 프로젝트 폴더 D1F120 의 폴더 구성은 아래 그림과 같다. 


위와 같은 폴더 구조인 상황에서 KEIL MDK-ARM 에서 프로젝트 오픈하고 동시에 SW4STM32 에서 오픈하는 상황을 아래 동영상에 보이고 있다. 

 - KEIL MDK-ARM 은 프로젝트 파일인 D1F120.uvprojx 를 더블 클릭하면 KEIL MDK-ARM 이 실행되면서 프로젝트 오픈된다. 

 - SW4STM32 로 프로젝트 열려면 SW4STM32 를 먼저 실행하면서 work space 폴더를 우리의 WORK_MultiSTM32CubeMX 를 지정하는 방식으로 프로젝트 D1F120 에 접근가능하다 (SW4STM32가 이클립스 기반이라 이클립스와 동일함.). 






 KEIL MDK-ARM 과 SW4STM32 에서 동일 프로젝트 오픈했을때 프로젝트 탐색기에 보이는 모습. 


 - 프로젝트 파일 관리 방식이 2개의 IDE가 다르므로, 프로젝트 탐색기에서 보이는 모습은 차이가 난다. 
 - KEIL MDK-ARM 은 실제 폴더 구조와는 무관하게 추상적인 폴더구조를 IDE에서 생성하여 관리가능한 형식이고, SW4STM32 는 실제 탐색기에서 보이는 폴더구조를 그대로 Project Explorer 에서 보이는 식으로 관리된다(즉, 이클립스 관리 형식임). 
 - 보이는 모습만 차이가 날 뿐 우리의 소스파일들은 모두 온전히 공유되고있다. 
 - 2개 IDE 동시에 오픈한 상태에서 동시에 편집해도 된다. 어느 한 IDE에서 수정하여 저장하게 되면 다른 IDE 에서도 그대로 반영된다. 
 - 그러나, 편집을 동시에 2개 IDE열고 작업할 필요는 없다. 혼선발생하여 헷갈린다. 1개 IDE 로만 작업하고 닫고 나서 다른 IDE 에서 프로젝트 오픈하여 작업하는 식으로 운영하는게 간결하다. 



 KEIL MDK-ARM 과 SW4STM32 에서 동시 빌드 가능. 


 - 동시에 빌드 가능하다. 아래 동영상에서 동일 프로젝트를 2개 IDE 에서 오픈한 상태에서 동시 빌드하는 상황을 보이고 있다. 



 

 


 


 

SW4STM32 / KEIL MDK-ARM 멀티 개발환경 구축 방법 상세

 
앞의 박스글에서 멀티 개발환경 구축 완료된 상태의 모습이었다. 
본 박스글에서는 멀티 개발환경을 구축하는 방법 상세정리한다. 

상황예 : "신규" STM32 프로젝트 만드는데 SW4STM32, KEIL MDK-ARM 동시 개발 가능 한 프로젝트 폴더 (폴더명 예: D1F117) 만들려고 함.  

단계1. STM32CibeMX 에서 프로젝트 생성. 

- STM32CubeMX 실행하여 메뉴 -> Project -> Settings... 클릭하여 신규 프로젝트 명 D1F117 할당 저장한다. 저장시 WORK_MultiSTM32CubeMX 하위를 선택하면 프로젝트명과 동일한 이름의 폴더 생성된다. 
(본 단계1의 요점은 메뉴 -> Project -> Settings... 클릭 하여 생성한다는 것임 . 왜? 상세 -> https://igotit.tistory.com/649 )

단계2. IDE 별 코드 생성. 

- KEIL MDK-ARM 용 생성 : STM32CubeMX 에서 KEIL MDK-ARM 선택하여 생성한다. 
- SW4STM32 용 생성 : STM32CubeMX 에서 SW4STM32 선택하여 생성한다. - 방법상세: https://igotit.tistory.com/1975
- 위 2개 모두 충돌없이 개별적으로 생성되며 KEIL 에서도 작업가능하고, SW4STM32 에서도 작업 가능한 프로젝트 폴더가 만들어진 것이다. 

 
 


 




첫글등록 : 2018년 11월 27일. 

최종수정 : 2018년 12월 12일.


/// 본글 단축주소 https://igotit.tistory.com/1919

댓글



 

비트코인




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