AzureSphere M4 SDK

Taylor
WIZnet
Published in
Nov 2, 2020

최초 배포 일자 : 2020/11/02
최종 수정 일자 : 2020/10/30

AzureSphere 는 1개의 ARM A7 Core와 2개의 ARM M4 Core로 이루어진 MediaTek MT3620을 사용합니다.

이중 M4 Core SDK는 MT3620 제조사 MediaTek의 SDK와 Software Service 기업 Codethink SDK 이렇게 2가지가 있습니다.

Link Github MediaTek SDK

Github MediaTek SDK FreeRTOS

Link Github Codethink SDK

Github Codethink SDK

MediaTek SDK의 경우 FreeRTOS Example이 주로 이루어져 있고, Codethink SDK의 경우 OS를 사용하지 않은 Example과 Azure RTOS인 ThreadX Example이 있습니다.

개발 목적에 따라 SDK를 선택해서 사용할 수 있습니다. 간단하고 빠르게 적용할 경우는 Codethink SDK가 맞아 보이며, 복잡한Application은 MediaTek SDK가 맞아 보이지만 Azure RTOS를 사용한다면 Codethink SDK를 사용해야 합니다.

Codethink SDK의 경우 submodule로 mt3620-m4-drivers를 포함하고 있으니 submodule을 update해서 example을 build 하시면 됩니다.

사용방법은 동일하게 먼저 Github에서 Clone을 하거나, download 합니다.

Visual Studio을 실행합니다.

File → Open → CMake 를 선택합니다. Example은 모두 CMake를 사용하여 ARM-GCC로 Compile 됩니다.

SDK의 Example 폴더의 CMAkeList.txt를 선택합니다.

Project가 열리고, 자동으로 CMakeList.txt 의 Cache가 생성됩니다.

Build → Build All을 선택합니다.

Project가 Build 됩니다. Output에서 결과를 확인할 수 있습니다.

실행을 위해 Target을 GDB Debugger (RTCore)를 선택합니다.

Debugger를 실행하면 Download 되고 실행됩니다.

Debugger를 일시정지 하면 현재 실행중인 Code를 확인할 수 있습니다.

또한 example MT3620_RTApp_FreeRTOS_WDT는 printf()를 OS_HAL_UART_ISU0로 출력합니다. 이를 사용자 환경에 맞게 변경하여 실행하면 출력 결과를 확인 할 수 있습니다.

M4 Core는 전용 UART Port 하나를 갖고 있습니다. OS_HAL_UART_PORT0로 변경하여 출력을 확인해 보겠습니다. 아래와 같이 uart_port_num을 변경합니다.

기본적으로 115200 baud rate, 1 stop bit, none parity로 설정되어 있습니다. Terminal을 실행하면 printf()의 결과를 확인할 수 있습니다.

다른 example도 동일하게 uart_port_num을 변경하여 출력을 확인할 수 있습니다.

--

--