2021.01.20

임베디드 시스템용 C# 코드 작성 쉽게··· ‘닷넷 나노프레임워크’란?

Paul Krill | InfoWorld
‘닷넷 마이크로 프레임워크(.NET Micro Framework)’를 잇는 ‘닷넷 나노프레임워크(.NET nanoFramework)’는 닷넷(.NET) 개발자와 비주얼 스튜디오(Visual Studio)에 사물인터넷, 웨어러블, 로봇 개발을 제공한다. 

C#을 사용해 임베디드 애플리케이션을 작성할 수 있는 닷넷 파운데이션(.NET Foundation)의 이 오픈소스 프로젝트를 사용하면 개발자는 익숙한 마이크로소프트 기술을 활용하여 소형 장치용 소프트웨어를 구축할 수 있다. 
 
ⓒGetty Images

즉 ‘닷넷 나노프레임워크’라고 부르는 이 프로젝트는 개발자로 하여금 마이크로컨트롤러의 복잡성을 걱정할 필요 없이 비주얼 스튜디오 IDE(Visual Studio IDE)와 C#을 사용하여 임베디드 시스템용 매니지드 코드 애플리케이션을 작성할 수 있도록 한다. 개발팀에 따르면 이 플랫폼은 IoT 센서, 웨어러블, 로봇, 산업용 장비 개발 등의 프로젝트에 적합하다. 

또한 닷넷 나노프레임워크에는 축소된 버전의 닷넷 공용 언어 런타임(Common Language Runtime; CLR), 닷넷 기본 클래스 라이브러리의 하위 집합, 유니버셜 윈도우 플랫폼(Universal Windows Platform; UWP)의 공용 API가 포함돼 있다. 이를 통해 데스크톱 애플리케이션, IoT 코어(IoT Core) 애플리케이션, 닷넷 코드 예제, 오픈소스 프로젝트에서 코드를 재사용할 수 있다. 

이 밖에 닷넷 나노프레임워크의 기능은 다음과 같다. 

• 최소 256kB의 플래시와 64kB의 램(RAM)으로 리소스가 제한된 장치에서 실행된다. 
• 베어메탈에서 직접 실행된다. 현재 ARM 코어텍스-M 및 ESP32 장치가 지원된다. 
• GPIO, UART, SPI, I2C, USB와 같은 일반적인 임베디드 주변장치 및 상호연결을 지원한다.
• 기본적으로 멀티스레딩을 지원한다. 
• 예를 들면 배터리로 실행되는 장치 등에 에너지 효율적인 작동을 지원한다. 
• 인터롭(Interop) 코드 지원을 통해 개발자는 매니지드(C#)과 네이티브 코드(C/C++)가 모두 있는 라이브러리를 작성할 수 있다. 
• 마크 앤 스윕(Mark-and-Sweep) 가비지 컬렉터를 제공해 수동 메모리 관리가 필요하지 않다. 
• 실행은 장치 잠금 및 충돌을 포착하도록 제한된다. 

한편 닷넷 나노프레임워크 개발팀은 이 프로젝트가 임베디드 애플리케이션 개발용 닷넷 마이크로 프레임워크의 후속편이라고 밝혔다. 이어서 일부 구성요소를 재사용하거나 개선하긴 했지만 많은 부분이 완전히 다시 작성됐다고 덧붙였다. ciokr@idg.co.kr


 



2021.01.20

임베디드 시스템용 C# 코드 작성 쉽게··· ‘닷넷 나노프레임워크’란?

Paul Krill | InfoWorld
‘닷넷 마이크로 프레임워크(.NET Micro Framework)’를 잇는 ‘닷넷 나노프레임워크(.NET nanoFramework)’는 닷넷(.NET) 개발자와 비주얼 스튜디오(Visual Studio)에 사물인터넷, 웨어러블, 로봇 개발을 제공한다. 

C#을 사용해 임베디드 애플리케이션을 작성할 수 있는 닷넷 파운데이션(.NET Foundation)의 이 오픈소스 프로젝트를 사용하면 개발자는 익숙한 마이크로소프트 기술을 활용하여 소형 장치용 소프트웨어를 구축할 수 있다. 
 
ⓒGetty Images

즉 ‘닷넷 나노프레임워크’라고 부르는 이 프로젝트는 개발자로 하여금 마이크로컨트롤러의 복잡성을 걱정할 필요 없이 비주얼 스튜디오 IDE(Visual Studio IDE)와 C#을 사용하여 임베디드 시스템용 매니지드 코드 애플리케이션을 작성할 수 있도록 한다. 개발팀에 따르면 이 플랫폼은 IoT 센서, 웨어러블, 로봇, 산업용 장비 개발 등의 프로젝트에 적합하다. 

또한 닷넷 나노프레임워크에는 축소된 버전의 닷넷 공용 언어 런타임(Common Language Runtime; CLR), 닷넷 기본 클래스 라이브러리의 하위 집합, 유니버셜 윈도우 플랫폼(Universal Windows Platform; UWP)의 공용 API가 포함돼 있다. 이를 통해 데스크톱 애플리케이션, IoT 코어(IoT Core) 애플리케이션, 닷넷 코드 예제, 오픈소스 프로젝트에서 코드를 재사용할 수 있다. 

이 밖에 닷넷 나노프레임워크의 기능은 다음과 같다. 

• 최소 256kB의 플래시와 64kB의 램(RAM)으로 리소스가 제한된 장치에서 실행된다. 
• 베어메탈에서 직접 실행된다. 현재 ARM 코어텍스-M 및 ESP32 장치가 지원된다. 
• GPIO, UART, SPI, I2C, USB와 같은 일반적인 임베디드 주변장치 및 상호연결을 지원한다.
• 기본적으로 멀티스레딩을 지원한다. 
• 예를 들면 배터리로 실행되는 장치 등에 에너지 효율적인 작동을 지원한다. 
• 인터롭(Interop) 코드 지원을 통해 개발자는 매니지드(C#)과 네이티브 코드(C/C++)가 모두 있는 라이브러리를 작성할 수 있다. 
• 마크 앤 스윕(Mark-and-Sweep) 가비지 컬렉터를 제공해 수동 메모리 관리가 필요하지 않다. 
• 실행은 장치 잠금 및 충돌을 포착하도록 제한된다. 

한편 닷넷 나노프레임워크 개발팀은 이 프로젝트가 임베디드 애플리케이션 개발용 닷넷 마이크로 프레임워크의 후속편이라고 밝혔다. 이어서 일부 구성요소를 재사용하거나 개선하긴 했지만 많은 부분이 완전히 다시 작성됐다고 덧붙였다. ciokr@idg.co.kr


 

X