MicroPython 2.0 마이그레이션 가이드

MicroPython 2.0은 MicroPython의 (현재 개발 중이며 아직 사용할 수 없는) 다음 주요 릴리스입니다.

거의 10년 동안 1.x 시리즈와 API 호환성을 유지해 온 후, 프로젝트 전반의 개선을 진행하기 위해 MicroPython 2.0은 소수의 호환성을 깨뜨리는 API 변경을 도입하며, 이는 일부 프로그램의 업데이트를 필요로 합니다. 이 가이드는 이러한 변경에 맞춰 Python 코드를 업데이트하는 방법을 설명합니다.

이 문서는 작업이 진행 중입니다. MicroPython 2.0에 대한 작업이 더 이루어짐에 따라 아래 목록에 더 많은 항목이 추가될 것입니다.

참고: 현재 다운로드할 수 있는 MicroPython 2.0 펌웨어 빌드는 없습니다. MICROPY_PREVIEW_VERSION_2 구성 옵션을 활성화하여 직접 빌드할 수 있습니다. 릴리스 준비가 가까워지면 1.x.y2.0.0-preview 모두에 대한 빌드가 제공될 것입니다.

하드웨어 및 주변장치

개요

목표는 여러 포트에 걸쳐 machine API의 일관성을 개선하여, 지원되는 모든 마이크로컨트롤러에서 작동하는 코드, 문서, 튜토리얼을 더 쉽게 작성할 수 있도록 하는 것입니다.

이는 일부 포트의 API가 다른 포트에 맞춰 변경되어야 함을 의미합니다.

변경 사항

아직 없음

OS 및 파일 시스템

개요

주요 목표는 .mpy 파일을 먼저 RAM으로 복사하지 않고 파일 시스템에서 직접 실행할 수 있도록 지원하는 것입니다. 이는 코드 배포 시간을 개선하고 메모리 오버헤드와 단편화를 줄입니다.

또한, 파티션, 파일 시스템 유형, USB 대용량 저장소 같은 옵션을 보다 유연하게 구성하는 방법을 지원하는 것도 추가 목표입니다.

변경 사항

아직 없음

CPython 호환성

개요

목표는 CPython API에서 MicroPython 확장을 제거하여 CPython과의 호환성을 개선하는 것입니다. 대부분의 경우 이는 기존 MicroPython 전용 함수나 클래스를 새 모듈로 옮기는 것을 의미합니다.

이를 통해 CPython과 MicroPython 모두에서 작동하는 코드를 더 쉽게 작성할 수 있으며, 이는 개발과 테스트에 유용합니다.

변경 사항

새 모듈 vfs의 도입. 다음 함수와 클래스가 os에서 vfs로 옮겨졌습니다.

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix