대부분의 사람들에게 그들이 작업했을 첫 번째 임베디드 개발 보드는 아마도 Arduino 보드 일 것입니다. 그러나 모두가 동의하는 것처럼 Arduino는 지금까지만 당신을 데려 갈 수 있으며 언젠가는 네이티브 마이크로 컨트롤러 플랫폼으로 이동해야합니다. 이 STM32 개발 보드 를 사용하면 하드웨어 측면에서 도움이되는 모든 Arduino 실드를 지원할 수 있고 소프트웨어 측면에서 도움이되는 많은 내장 라이브러리 및 기능 이 있으므로이 프로세스를 훨씬 쉽게 만들 수 있습니다. 또한 STM32 마이크로 컨트롤러에 익숙해지면 앞서 검토 한 SensorTile.Box와 같은 ST의 다른 개발 모듈을 쉽게 탐색 할 수 있습니다. 따라서이 기사에서는이 STM32 Nucleo-64 개발 보드 를 자세히 살펴보고 사용 방법을 알아 보겠습니다.
이제 STM32 보드의 여러 버전을 사용할 수 있으며이 특정 보드는 STM32F401 Nucleo-64 라고합니다. STM32라는 이름은 개발 기판에 32 비트 마이크로 컨트롤러가 있음을 나타내고 Nucleo-64라는 이름은 마이크로 컨트롤러에 64 핀 이 있음을 나타냅니다. 마찬가지로 STM32F103, STM32F303 등과 같은 Nucleo 64 보드의 다른 버전이 많이 있지만 한 보드에 대해 배우면 다른 보드는 모두 매우 유사합니다.
STM32 Nucleo 64 개발 보드 하드웨어 설명
개발 보드를 개봉하여 시작하겠습니다. 보시다시피 전체 패키지는 개발 보드와 지침 카드로만 구성됩니다. 지침 카드에는 컨트롤러의 사양, 핀 배치가 언급되어 있으며 뒷면에는 시작하는 방법과 사용 가능한 도구 모음 옵션에 대한 몇 가지 정보가 있습니다.
보드를 자세히 살펴보면 보드가 두 영역으로 나뉘어져 있음을 알 수 있습니다. 상단 섹션은 ST-Link / V2 디버거 및 프로그래머이고 하단 섹션은 실제 개발 보드입니다. 이렇게하면 보드의 USB 미니 포트에 연결할 수있는 추가 USB 케이블을 사용하여 즉시 보드를 쉽게 프로그래밍하고 디버깅 할 수 있습니다.
처음 보면 보드에 많은 점퍼와 구성 요소가있는 것처럼 보일 수 있지만 모두 쉽게 작업 할 수 있습니다. CN11 및 CN12 보드의 양쪽에있는 두 개의 점퍼는 실제로 더미 점퍼이며,이 점퍼는 나중에 필요할 경우 다른 용도로 사용할 수 있습니다. CN2의 두 점퍼는 프로그래머와 디버거 섹션을 개발 보드와 연결하는 데 사용됩니다. 앞으로 이러한 핀을 통해 다른 ST 마이크로 컨트롤러 용 프로그래머를 사용하기 위해 이러한 점퍼를 제거 할 수 있습니다. 그리고이 커넥터 핀 JP1을 닫아 USB 전류를 100mA로 제한 할 수 있으며, 열린 상태로두면 최대 전류는 300mA가됩니다. 여기에는 보드에 전원이 공급되면 빨간색으로 켜지고 보드가 성공적으로 프로그래밍되면 녹색으로 바뀌고 통신 오류가 발생하면 주황색으로 바뀌는 3 색 LED (LD1)가 있습니다.
개발 섹션으로 이동하면 가장 중요한 구성 요소 인 STM32F401RET6 마이크로 컨트롤러가 있습니다. 이것은 84MHz에서 작동 하는 ARM Cortex M4 프로세서 가있는 64 핀 32 비트 마이크로 컨트롤러입니다. 또한 512Kb 플래시와 96KB SRAM이 있습니다. 마이크로 컨트롤러에는 16 비트 및 32 비트 타이머 10 개와 12 비트 ADC 1 개가 있습니다. 또한 외부 통신을위한 USART 3 개, I2C 3 개, SPI 4 개 및 USB 2.0 1 개가 있습니다. 더 많은 기술 정보를 얻으려면 STM32F401 데이터 시트를 확인하십시오.
이제 보드 가 모든 Arduino 실드를 지원 한다고 이전에 말했듯이 흥미로운 부분이 있습니다. 보드에는 두 세트의 커넥터가 있으며, 암 핀은 아래 이미지에서 볼 수 있듯이 ESP8266 Wi-Fi Shield와 Semtech Arduino LoRa Shield에 완벽하게 맞는 Arduino 차폐 용입니다.
다른 수컷은 ST morpho 핀 이라고하며 64 핀 마이크로 컨트롤러의 리밍 핀을 활용하는 데 사용할 수 있습니다. 그런 다음 여기에 재설정 버튼과 PC13 핀에 연결된 사용자 구성 가능 버튼과 Arduino와 마찬가지로 핀 D13에 연결된 LED도 있습니다. 보드에 전원을 공급하기 위해 USB 포트를 사용하거나 여기에서 E5V 또는 5V 핀에 조정 된 5V를 직접 제공 할 수 있습니다. 보드에 전원을 공급하는 방법을 나타 내기 위해이 점퍼를 변경하는 것을 잊지 마십시오. U5V는 보드가 USB로 전원이 공급됨을 나타냅니다. 여기에는 전류계를이 핀에 연결하여 마이크로 컨트롤러가 소비하는 전류를 측정하는 데 사용할 수있는 IDD라는 또 다른 흥미로운 점퍼 핀이 있습니다.
STM32 Nucleo 64 개발 보드 프로그래밍
소프트웨어 섹션에서 보드는 거대한 라이브러리와 프로그래밍 지원 을 가지고 있으며 Keil, IAR 워크 벤치 및 기타 여러 IDE를 사용하여 프로그래밍 할 수 있습니다. 하지만 흥미로운 점은 ARM Mbed 와 STM32Cube 개발 환경을 지원한다는 것입니다. 이 기사에서는 온라인 도구이기 때문에 ARM Mbed 플랫폼을 사용하기로 결정했으며 ST 보드뿐만 아니라 ARM 마이크로 컨트롤러 를 사용하는 다른 많은 개발 보드와 함께 사용할 수 있기 때문에 매우 흥미로웠다.
신규 사용자를 위해 ARM MBED 는 ARM 자체에서 제공하는 온라인 개발 플랫폼이며 IoT 기반 임베디드 솔루션을 쉽게 만들 수있는 임베디드 운영 체제, 클라우드 서비스 및 보안 기능을 제공합니다. 거대한 오픈 소스 커뮤니티이며 이에 대해 자세히 알아 보려면 별도의 기사가 필요합니다.
STM32F401 시작하기
그러나 시작하려면 USB 미니 케이블을 사용하여 STM32 개발 보드를 컴퓨터에 연결하십시오. 전원이 공급되면 LD1 및 LD3 LED가 빨간색으로 켜지고 프로그래밍 가능한 LED LD2가 이와 같이 녹색으로 깜박입니다.
또한 "NODE_F401RE" 라는 새 플래시 드라이브가 컴퓨터에 표시됩니다 . 그것을 열면 아래와 같이 details.txt와 mbed.htm이라는 두 개의 파일이 있습니다.
Mbed.htm 파일을 실행하여 arm Mbed를 사용하여 온라인으로 보드 프로그래밍을 직접 시작할 수 있습니다. 그러나 도착하기 전에 필요한 드라이버를 설치하고 Mbed에 가입했습니다. STSW-link009 드라이버 소프트웨어를 검색하고 ST 웹 사이트에서 직접 다운로드하고 드라이버를 설치 한 다음 여기에 표시된대로 장치 관리자에서 장치가 올바르게 검색되는지 확인하십시오.
mbed 플랫폼으로 돌아가서 자격 증명으로 MBED.com에 등록하십시오. 그런 다음 MBED.HTM 파일을 클릭하면 다음 페이지가 표시됩니다.
아래로 스크롤하여 " Open Mbed compiler "를 클릭합니다. 보시다시피 컴파일러는 이미 우리 플랫폼을 Nucleo-F401RE로 인식했으며 많은 기본 예제 프로그램을 제공하고 있습니다. 지금은“ LED Blinky 코드 ”를 선택 하고 누름 버튼을 누를 때마다 LED가 꺼 지도록 수정하겠습니다.
아래와 같이 코드가 준비되면 컴파일 버튼을 클릭하여 bin 파일을 제공하고 bin 파일을 복사하여 플래시 드라이브에 붙여 넣어 보드를 프로그래밍 할 수 있습니다. 프로그래밍이 완료되면 LD1 LED가 녹색으로 바뀝니다. 이제 파란색 버튼을 누르면 녹색 LED가 꺼집니다. 그런 식으로 보드의 다양한 기능을 배우기 위해 예제 프로그램을 시도해 볼 수 있습니다. 기본 페이지로 돌아가서 다른 기술 문서와 커뮤니티 지원을받을 수도 있습니다.
이 페이지 하단에 링크 된 비디오를 시청하여이 보드의 전체 리뷰를 볼 수도 있습니다.
결론
전반적으로 이러한 보드는 기술 수준을 높이고 고급 응용 프로그램을 개발하려는 경우 탁월한 선택이라고 생각합니다. 실용적인 하드웨어 지원과 온라인 커뮤니티를 통해 이러한 보드의 학습 곡선도 매우 간단하므로 사용해 볼 수 있습니다. 나는 당신이 기사를 즐겼고 그로부터 유용한 것을 배웠기를 바랍니다. 질문이 있으시면 아래 댓글 섹션에 남겨 주시거나 다른 기술 질문에 대해 포럼을 사용하십시오.