티스토리 뷰

하드웨어 준비 글에서 위에 보이는 그림처럼 보드를 만들었지만 디버거 장비와 연결이 안되어서 사용할 수 없다고 했는데, 그 이유를 알게 되었다.
결론은 VDDA와 VSSA 핀을 반드시 전원과 GND에 연결했어야 했는데 그 부분을 연결하지 않아서 디버거/프로그래머 장비에서 칩을 인식할 수 없었던 것이었다.
STM32F103 datasheet에 보면 다음과 같은 내용이 나온다.

반드시 VDDA와 VSSA를 VDD와 VSS에 연결시켜야 된다라고 설명되어 있다.
또한 다음과 같은 내용도 있다.

AVR에서는 VDDA 전원은 ADC를 사용할때만 연결시켜도 문제 없었는데, STM32F103의 경우 ADC뿐만 아니라 RC나 PLL도 VDDA를 이용해서 동작되고 있는것이다.
위의 그림을 보면 알수 있지만 digital 영역과 analog 영역의 전원이 서로 분리 되어 사용되고 있다. 그렇게 함으로써 조금이라도 성능이 나빠지는것을 막을 수 있기 때문이다. 실제로 PCB 설계할때에도 digital 회로와 analog 회로가 동일한 pcb에 구현될 경우에도 각각의 전원을 완전히 분리시켜 digital noise가 analog 회로에 영향을 최소화 시키도록 하고 있다.

st-link/v2 장비의 jtag 커넥트와 stm32f103을 위의 그림과 같이 연결시킨다. 물론 모든 VDD와 VDDA도 연결시켜야 한다. 또한 BOOT0 핀은 pull-down 상태를 유지하도록 pull-down 저항을 이용하여 VSS에 연결시켜야 다운로드된 프로그램이 실행된다. 만약 SWD를 사용하지 않고 칩내부의 부트로더를 이용하여 실행파일을 로딩할 경우에는 BOOT0 핀을 pull-up 시켜주면 된다.
위의 그림과 같이 연결하고 STM32 ST-LINK Utility 프로그램을 실행시킨후 연결 동작을 수행하면 정상적으로 칩과 연결되는것을 볼 수 있다.

Cortex-M3 RTOS에 있는 프로그램을 칩으로 로딩한 후 실행 시킨 결과가 정상적으로 동작되는것을 확인하였다. 시스템 클럭 설정 부분에서 외부 크리스털이 연결되어 있지 않으므로 HSI를 PLL 입력으로 받아들이도록 수정하였다. 따라서 PLL Mul 값도 12로 변경하여 시스템 클럭 속도가 48MHz가 되도록 하였다.
stm32f103 MCU이외에 아무 회로 구성없이 프로그램이 동작 될 수 있는것을 볼 수 있다.

가장 아래에 있는 LED의 상태가 2번 바뀔때마다 바로위의 LED의 상태가 변하는 것을 볼 수 있다. 그 다음에 있는 LED는 가장 아래 LED의 상태가 3번 바뀔때 상태가 바뀐다. 가장 위에 있는 LED는 가장 아래 LED의 상태가 8번 바뀔때 비로소 상태가 변경된다.
각각의 LED를 구동하기 위하여 하나의 타스크가 할당 되어 있다. 위의 영상에는 안 나오지만 main_task와 idle_task가 더 동작하고 있다. 따라서 모두 10개의 타스크가 정상적으로 동작되고 있음을 알수 있다.



참고로, stm32f103 MCU를 만든 STMicroelectronics사에서는 개발용 보드도 만들어서 판매하고 있는데, 그 중에는 st-link/v2 블럭이 보드에 포함되어 있는 경우가 있다.

위의 그림의 빨간색으로 표시된 영역이 st-link/v2 회로이다.

위의 그림처럼 CN4를 모두 빼고 CN2에 있는 핀들을 stm32f103 칩에 맞게 연결하면 된다.
STMicroelectronics 홈페이지에서 AN2586 Getting started with STM32F10xxx hardware development 문서를 다운받아 읽어 보면 좀더 많은 정보를 얻을 수 있다.








'ARM Cortex-M' 카테고리의 다른 글

시스템 클럭 72MHz로 동작 시키는 방법  (0) 2017.04.19
ADC  (3) 2017.04.15
PWM  (0) 2017.04.08
Timer  (0) 2017.04.08
Cortex-M3 RTOS  (0) 2017.03.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함