상세 컨텐츠

본문 제목

[Azure Sphere] Azure Sphere MT3620 RTCore USB debugging with USB port

AZURE

by 잡기장 2022. 2. 9. 17:26

본문

Azure Sphere 모듈 사용자라면 모두 다음과 같은 생각을 할 것입니다. 처음 공개될 당시, Cloud Edge Device를 타겟으로한 Azure Sphere의 하드웨어 스팩은 대단했습니다. 그만큼 기대도 많이 되었구요. 하지만 실제로 제공되는 예제들은 그 스팩을 충분히 활용하기에는 부족한 부분이 많이 있었습니다. 그럼에도 불구하고 Preview 발표 이후 현재까지 Azure Sphere OS의 지속적인 업데이트 뿐 아니라 다양한 Partner들과의 협력으로 짧은 시간이지만 사용자들을 위한 많은 예제들이 추가되고 있습니다.

 

그중에서도 MT3620의 하드웨어 스팩인 Dual Real-Time Cores를 활용한 예제가 추가되었고 이를 통해 많은 어플리케이션들이 나올 것을 기대해 볼 수 있을 것 같습니다. RTCore(Real-Time Core)는 기존 MT3620 High-Level Core처럼 FTDI USB로는 Debugging을 할 수 없기 때문에 MT3620 RTCore를 사용하기 위한 USB Debugging 방법을 소개하려고 합니다.

 

 


 

 

Hardware Setting

MT3620 HLCore의 경우, Azure Sphere Dev용 Kit의 FTDI USB를 통해 PC와 USB Cable 연결만으로 쉽게 Debugging이 가능했습니다. 그러나 MT3620 RTCore의 경우 USB Debugging을 위해서는 사용자가 직접 Serial2USB 모듈을 연결해야 합니다.

Azure Sphere Docs에서는 Serial2USB 모듈과 MT3620간의 하드웨어 연결을 다음과 같이 설명하고 있습니다.

 

 

아래는 Avent의 Azure Sphere Starter Kit이며 이 보드에서 IOM4–0 TX핀의 위치를 확인할 수 있습니다.

 

IOM4–0 TX핀과 Serial2USB의 RX핀을 연결하고 Serial2USB의 GND핀은 보드의 어떤 GND와 연결합니다.

 

연결이 완료되면 PC의 장치 관리자에서 Serial2USB의 포트가 인식된 것을 확인할 수 있습니다. 이제 MT3620 RTCore의 USB Debugging을 위한 하드웨어 준비는 끝났습니다.

 


 

 

Download Example Code

Azure는 MT3620 RTCore USB Debugging 동작 확인을 위한 예제로 github.co m에 CodethinkLabs와 MediaTek가 배포한 코드를 안내합니다. CodethinkLabs와 MediaTek의 예제의 다른점은 MediaTek에서는 FreeRTOS기반의 예제를 제공하고 CodethinkLabs는 None OS 기반의 예제를 제공하고 있습니다.

현재까지 Azure Sphere에서는 FreeRTOS만 사용이 가능하지만, Azure에서 올 해 Azure RTOS를 릴리즈한다는 발표가 있었기 때문에 조금만 더 기다리면 곧 Azure Sphere에 최적화된 Azure RTOS를 사용할 수 있습니다.

출처 : https://github.com/Azure/azure-sphere-samples

 

간단한 Debugging 기능 테스트를 위해 None OS 기반의 CodethinkLabs 예제들중 UART 예제를 사용했습니다.

출처 : https://github.com/CodethinkLabs/mt3620-m4-samples

 

Azure Sphere Developer Command Prompt를 통해 enable-development 명령어로 디바이스에 예제 프로그램 다운로드 준비를 합니다.

 

Visual Studio를 통해 예제 프로그램을 빌드하고 Ctrl+F5(디버그하지 않고 시작)을 통해 디바이스에 프로그램을 다운로드 합니다.

 

다운로드가 완료되면 무료로 배포되는 Serial Terminal 프로그램을 통해 장치 관리자에서 확인했던 M4 USB Port에 연결합니다. 이때 속도는 Azure Sphere Docs에서 언급된 대로 115200으로 설정합니다.

 

Starter Kit의 Reset버튼을 누르면 프로그램이 다시 동작하고 Serial Terminal에 Debugging 메시지가 출력되는 것을 확인할 수 있습니다.

 

이것을 통해 MT3620 RTCore의 USB Debugging 기능을 확인했습니다. 실제 코드상에서도 UART_Print 또는 UART_Printf 함수를 통해 쉽게 Debugging 메시지를 출력할 수 있습니다.

 

 

예제의 내용은 Button A를 누를 때마다 ISU0의 UART를 통해 데이터를 전송하는 것입니다. 마지막까지 예제를 마무리하고 싶으신 분들은 MT3620 Pad의 39,42 핀에 UART TXD/RXD 를 연결하여 확인할 수 있습니다.

 

댓글 영역