Brise
STM32f4 개발환경 in Ubuntu 본문
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 |