스파크 모듈 개발 환경 구축
M3가 코어로 사용된 STM32를 기반으로하는 Spark 모듈의 Windows 개발환경 구축에
대해서 알아보도록 하겠습니다.
자료는 하단 유튜브의 강의 자료를 기반으로 작성되었습니다.
https://www.youtube.com/watch?v=xBCxYbtDbVA
C드라이브에 'SparkCorePrograms'와 'Spark'폴더를 생성합니다.
앞으로 다운 받는 Spark 관련 자료들은 해당 폴더들로 이동 할 것입니다.
폴더 생성 후 자료를 다운 받기 위하여 Spark 자료들이 있는 github로 이동합니다.
https://github.com/spark/firmware#1-download-and-install-dependencies
접속한 페이지에서 하단으로 스크롤을 내려서 먼저 GCC 카테고리를 찾습니다.
github에서 계속 다운로드를 하여야 하므로 링크를 새 탭에서 여는것을 권장합니다.
페이지 오른쪽 하단의 초록색 다운로드 버튼들이 있습니다.
이 중 gcc-arm-non...4-win32.exe를 다운 받습니다.
다운받은 후 곧바로 설치를 진행합니다.
별도의 사용자 지정 없이 다음을 눌러 설치를 진행하다가
다음과 같은 화면이 나오면 반드시 'add path to environment variable'에
체크를 한 후 완료를 누릅니다.
설치 완료 후 C:\ProgramFile안에 있는 GNU Tools 폴더를 미리 생성해두었던 SparkCorePrograms 폴더로 이동합니다.
C:\ProgramFile\GNU tools->C:\SparkCorePrograms\GNU tools
Gcc 설치 완료 후 github로 돌아가서 Make를 다운로드 합니다.
GCC와 마찬가지로 새 탭으로 경로에 접속합니다.
페이지 하단에서 complete Package, except sources 파일을 찾아
Setup을 누르면 설치가 진행됩니다.
설치한 파일은 실행하여 별도의 사용자 지정없이 다음을 눌러 설치를 진행합니다.
설치 완료 후 GCC와 마찬가지로 GnuWin32 폴더를 SparkCorePrograms 폴더로
이동시킵니다.
C:\ProgramFile\GnuWin32->C:\SparkCorePrograms\GnuWin32
계속해서 DeviceFileUpgrade 파일을 다운받습니다.
링크된 URL로 들어갑니다.
접속 후 하이퍼 링크된 release를 클릭하면 다운 가능한 목록이 뜨는데
그 중 dfu-util-0.7-binaries-7z 파일을 찾아 다운 받습니다.
dfu를 저장하기 위해 SparkCoreProgram 폴더에 dfu폴더를 생성 후
다운받은 dfu zip파일을 실행시킵니다.
실행시킨 zip파일에서 win32-mingw32 폴더로 들어가서
다음과 같은 4개의 파일을 생성해둔 dfu폴더 안으로 이동시킵니다.
다음은 드라이버를 설치해주는 Zatig을 설치 해야합니다.
위와 마찬가지로 링크로 이동합니다.
페이지 하단에 자신의 컴퓨터 사양과 맞는 다운로드 링크를 찾아 설치를 진행합니다.
설치 된 exe파일은 원활한 실행을 위하여 바탕화면으로 이동시키는 것을 권장합니다.
다음은 Git 다운로드 링크로 이동합니다.
이동한 git 다운로드 페이지에서 윈도우용 git(Download for Windows)을 다운 받습니다.
다운받은 후 바로 설치를 진행합니다.
설치를 진행하다가 git 설정에서 '윈도우 커맨드 프롬프트에서 실행'을 체크해줍니다.
설치된 Git파일도 앞서 설치한 파일과 마찬가지로 SparkCorePrograms로 이동시킵니다.
다음, github에 올라간 파일을 다운로드하기위하여 환경변수를 설정해 주어야하는데 파일들이 설치된 설치 경로를 입력해주어야합니다.
시작->컴퓨터(오른쪽버튼)->속성->고급 시스템설정->고급 탭->환경변수에 진입하여
이름이 PATH인 변수에 대하여 기존의 경로값을 지우고
path = C:\SparkCorePrograms\dfu;C:\SparkCorePrograms\Git\bin;C:\SparkCorePrograms\GNU Tools ARM Embedded\4.9 2015q2\bin;C:\SparkCorePrograms\GnuWin32\bin
를 입력해줍니다.
이 후 보조프로그램-> 명령 프롬프트를 실행시킨 뒤
커맨드 창에도 다음과 같이 동일한 환경변수 값을 입력해 줍니다.
이 후 프롬프트 창에서 cd명령어로 Spark폴더로 이동 후
github내의 파일을 다운로드 하는 명령어들을 입력합니다.
명령어는 다음과 같습니다.
git clone https://github.com/spark/firmware.git
git clone https://github.com/spark/core-common-lib.git
git clone https://github.com/spark/core-communication-lib.git
이 3개의 파일들을 모두 설치합니다.
여기서, 권한에 대한 오류로 git명령어가 동작하지 않을 경우
git config --system http.sslcainfo "C:\git\bin\curl-ca-bundle.crt가있는 폴더이름"
git config --system http.sslverify false
이 두가지 명령어를 입력 후 설치를 시도해봅니다.
모든 설치가 완료되면 프롬프트창에서 cd명령어로 Spark->core-firmware로 이동 후
git pull 명령어를 실행합니다.
이 후 cd명령어로 core-firmware->bulid 폴더로 이동하여 make명령어로 컴파일을 진행합니다.
컴파일 완료 후 USB선을 이용하여 DFU모드로 전환된 Spark모듈을 컴퓨터에 연결하면 드라이버가 설치되지 않았다는 팝업창이 뜹니다.
(reset과 boot 버튼을 동시에 눌렀다가 reset을 먼저 떼고 LED가 노란색 이 될 때까지 기다린후 boot버튼을 떼면 DFU모드로 전환이 된다.)
이 때 바탕화면에 다운받은 zadig를 실행시킵니다.
Device를 DFU로 설정하고 드라이버 설치를 진행합니다.
이 후 프롬프트창에 dfu-util -l 명령을 하였을 때
Found DFU: [1d50:607f] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/20*001Ka,108*001Kg"
Found DFU: [1d50:607f] devnum=0, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg"
가 출력되어야 제대로 드라이버 설치가 완료된 것입니다.
이후 바이너리파일을 실행해야하는데 github페이지에서 주어진
D:\Spark\firmware\build [master]> dfu-util -d 1d50:607f -a 0 -s 0x08005000:leave -D core-fi
에서 붉은색으로 표시된 부분은
USB ID에 표시된 부분으로 변경하여야하고 뒷부분은 Write될 주소값인데 0x08005000은
core 모델의 주소값이고 Pothon 모델을 사용할 경우 주소값은 0x80A0000로 설정해 주어야 write가 진행됩니다.
바이너리 파일까지 실행시켰으면 거의 완료.
다음으로 컴파일을 진행 할 IDE를 다운받아야합니다.
오라클에 접속하여 netbeans를 다운 받는다. 링크는 다음과 같습니다.
www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
우측의 netbeans를 자신의 운영체제에 맞는 버전으로 다운받고 설치를 진행합니다.
익명 데이터에 대한 contribute는 체크 해제 한 후 완료합니다.
마지막으로 툴체인 cygwin을 다운받고 설치를 진행한다. 링크는 다음과 같습니다
설치 중 user URL을 입력하라는 창이 뜨는데 URL은
설치완료 후 netbeans를 실행합니다.
플러그인 설정을 위하여 tools->plug ins->aviliables plugins탭에 들어갑니다.
목록 중
C/C++
Show path in titlebar
git toolbar
open URL of GIT repository hoster
를 선택 후 설치를 진행합니다.(노란 경고창이 뜨면 continue를 눌러 설치를 진행한다)
플러그인 설정 완료 후 다시 tools->option으로 들어갑니다.
프록시는 NO Procy로 설정,
계속해서 상단의 C/C++탭으로 이동 후
Toolchain을 추가시켜줍니다. 경로는
SparkCorePrograms->GNU Tools ARM 내의 폴더를 open합니다.(동영상 기준 4.8 2013q4)
○ C 컴파일러: SparkCorePrograms->GNU Tools ARM-> 4.8 2013q4->bin->arm-none-eabi-gcc.exe
○ C++ 컴파일러: SparkCorePrograms->GNU Tools ARM-> 4.8 2013q4->bin->arm-none-eabi-g++.exe
○ 어셈블러:SparkCorePrograms->GNU Tools ARM->4.8 2013q4->bin->arm-none-eabi-as.exe
으로 설정합니다
C/C++ 프로젝트 생성
셀렉트 모드의 경로는 C:\Spark, Custom으로 설정합니다.
Build 파일의 경로는
C:/Spark/core-firmware/build/makefile
을 열어줍니다.
경로는 C:\Spark로 지정 후 프로젝트 생성을 마친다
프로젝트->우클릭->Reparse Project
프로젝트->우클릭->configure code Assistance
를 설정한다. configure code Assistance의 경우
활성화된 창에서 설정없이 next를 누르면 된다.
프로젝트->우클릭->property->run에서 PATH를 수정하는데
뒤에 앞서 실행하였던 바이너리 파일의 경로를 붙여줍니다.
dfu-util -d 2b04:d006 -a 0 -s 0x080A0000:leave -D core-firmware.bin
이 후 좌측 프로젝트 창에서
core-firmware->src->application.cpp를 클릭,
build합니다.
모듈을 DFU모드로 전환 후 컴퓨터와 연결합니다.
run 버튼을 누르고 excutable 설정을 해준다. 경로는 dfu폴더 내의 dfu-util.exe입니다.
다운로드가 되지 않을 경우
프로젝트->우클릭->property->run에서
console type을 Standard output으로 변경해줍니다
'개발' 카테고리의 다른 글
[Spark] Start 소스 분석 (0) | 2017.04.18 |
---|---|
[Spark] 스파크 모듈 소개 (0) | 2017.04.18 |
[Smartrobot] 아두이노 포팅 (0) | 2017.04.18 |
[STM32] 소스에서 메모리 주소 찾기 (0) | 2017.04.18 |
[STM32] STM32 세미나 (0) | 2017.04.18 |
댓글