Brise

STM32f4 개발환경 in Ubuntu 본문

MCU

STM32f4 개발환경 in Ubuntu

naudhizb 2014. 9. 1. 11:15
반응형


1. 컴파일러 및 개발환경 다운로드


arm-gcc 다운로드( 운영체제 맞추어서)

https://launchpad.net/gcc-arm-embedded


eclipse 다운로드( C/C++ 개발용, 운영체제 맞추어서)

https://www.eclipse.org/downloads/







2. eclipse 실행 및 플러그인 다운로드


eclipse를 실행한다

Help -> Install New Software 선택


플러그인 설치 


  • name: GNU ARM Eclipse Plug-ins
  • URL: http://gnuarmeclipse.sourceforge.net/updates


3. 테스트 프로젝트 생성


File -> New -> C Project


STM32F4 Project 선택


Project Name은 blinkyLED로 입력(예제인듯)


Next를 누르다가 toolchainPATH를 설치된 GCC의 bin폴더로 선택


Finish.



4. Build해보기


상단 툴바의 망치 모양을 눌러

'Debug'용과 'release'용 으로 빌드해보기기기


(권장 옵션)


Windows -> Perference

-> General -> workspace 에서


Save automatically beforeBuild 선택


Apply 후 close



5.  ST link 설치


sudo apt-get install git

cd $WORK_DIR

git clone git://github.com/texane/stlink

cd stlink

./autogen.sh

./configure

make

sudo make install



whereis st-flash

* 이 값의 경로 기억할것




6. eclipse에 적용


이클립스로 돌아와

Run -> External tool -> External Tool Configuration 선택


새로운 Configuration Name 입력

Location에 위에서 본 값 입력 (/usr/local/bin/st-flash)


Working Directory에 

${project_loc}/Release

입력


생성된 파일은 *.hex라서 오류가 난다.


Project -> Properties

-> C / C++ Build -> Settings

-> Cross ARM GNU Create Flash Image -> General 선택

Output Format 을  Raw binary 로 변경



7. openocd 설치 (디버그)


openocd 다운로드



openocd 설치


openocd 테스트


openocd -f tcl/board/stm32f4discovery.cfg

whereis openocd

----> 기억할것 location

pwd

----> 아규먼트에 붙일 절대경로


이클립스로 돌아와

Run -> External tool -> External Tool Configuration 선택


새로운 Configuration Name 입력 openocd

Location에 위에서 본 값 입력 (/usr/local/bin/openocd)


argument에 위의 아규먼트의 절대경로 입력

-f /home/<사용자계정>/ARMtoolchain/openocd-0.8.0/tcl/board/stm32f4discovery.cfg


Run ->external tools -> openocd 

를 선택해서 led가 초록,빨강으로 깜빡거리면 성공


Run을 openocd를 이용해서 실행했으니

Debug configuration을 해야함


Run -> debug configuration -> GDB Hardware debugging에 추가


C/C++ Application에 ~/blinkyLED.elf선택(프로젝트 파일)


아랫부분에 Select other 을 골라

체크박스를 선택하고 Legacy 또는 Standard GDB선택


debugger탭에서는

크로스 컴파일러의 gdb의 절대경로 입력

/home/<계정>/ARMtoolchain/gcc-arm-none-eabi-4_8-2014q2/bin/arm-none-eabi-gdb

JTAG Device는 Generic TCP/IP선택

주소는 localhost 포트는 3333입력


startup 탭에서는

Halt 체크 후에

박스에 

monitor reset halt 

입력


common에서는

Display in favorite Menu에 있는 debug에 체크하고 Apply 후

Debug 클릭


정상적으로 디버그 할수 있다면 성공


8. 레지스터 보기


http://embsysregview.sourceforge.net/


eclipse를 실행한다

Help -> Install New Software 선택


플러그인 추가

embsysregview

http://embsysregview.sourceforge.net/update-beta


** 주 : openocd를 실행하고 eclipse를 끄면 오류메세지가 나오는 것은 정상



실행하기


openocd로 run

Run-> debug configuration으로 들어가 debug 시작


Window -> Show view -> Other 선택

Debug -> Embsysregister 선택후 확인


창이 아래쪽에 생성되고 

ERROR .... select chip.. 과 같은 메세지 생성 되면 칩을 선택

cortex-m4

STMicro

stm32f40x

STM32F4DISCOVERY


이제 레지스터를 볼수 있다.(라곤 하지만 제대로 작동하진 않는듯.)



출처 : https://www.youtube.com/watch?v=HKX12hJApZM
















반응형

'MCU' 카테고리의 다른 글

0.96'' OLED Display  (0) 2014.10.23
stm32f4 개발관련 사이트  (0) 2014.10.02
ATMEGA128 (아트메가128) 구동전압  (0) 2014.09.28
ATMEGA128(아트메가128) 개발환경  (0) 2014.09.28
ATMEGA128 스펙 study  (0) 2014.09.24
아두이노 듀에 : 시리얼 중계하기  (0) 2014.09.18
stm32 라이브러리 종류  (0) 2014.09.04
Comments