STM32MP2를 순수 베어메탈 MCU로 되살린 실험

Playing with the STM32MP2

STM32MP2를 순수 베어메탈 MCU로 되살린 실험

STM32MP2는 원래 Linux용 애플리케이션 프로세서지만, 작성자는 벤더 SDK나 u-boot, TrustZone 없이 순수 aarch64 툴체인만으로 A35와 M33 코어를 깨워 이벤트 루프를 돌리는 데 성공했다. 외부 DDR 없이 온다이 SRAM에 코드와 데이터를 올리고, FSBL 이미지에 직접 헤더를 붙여 플래시 부팅을 구현했으며, PCIe까지 FPGA와 연동하는 것이 목표다. 그 과정에서 보안에 영향을 주는 실리콘 버그도 발견해 ST의 어드바이저리 공개를 기다려야 했다.

STM32MP2는 분명히 Linux를 실행하도록 설계됐고, 벤더 BSP에는 내가 신경 쓰지 않는 u-boot, TrustZone 같은 것들이 잔뜩 들어 있었다. 나는 그저 간단한 RTOS나 while(1) { doStuff(); } 이벤트 루프를 돌릴 수 있는 커다란 마이크로컨트롤러를 원했을 뿐이다.
  1. throwaway81523

    제품명에 STM32가 들어가 있긴 하지만, 이건 리눅스를 구동하도록 만들어진 듀얼 코어 Cortex-A35 SoC입니다. 그가 베어메탈로 올린 것이죠. 그가 사용한 STM32MP257F-EV1 개발 보드는 Digikey에서 425달러입니다. 그의 관심사는 이걸 FPGA에 연결하는 것입니다. 그래서 이건 하드웨어 하는 사람의 제품으로 보입니다. 대부분의 우리는 아마 더 단순한 걸 써도 될 겁니다. 저한테는 Pocketbeagle 2가 흥미로워 보이네요.

  2. dlcarrier

    STMicro에서:

    STM32MP257 애플리케이션 프로세서(STM32 MPU)는 최대 1.5GHz로 동작하는 듀얼 Arm® Cortex®-A35 코어와 400MHz로 동작하는 Cortex®-M33 코어를 기반으로 합니다.

    왜 그들은 M0 마이크로컨트롤러와 같은 제품 라인에 풀 데스크톱이 가능한 A35 프로세서를 넣는 걸까요? 아마도 이름 인지도를 통해 가치를 짜내려는 것 같지만, 그건 그냥 이름을 희석시키는 것뿐입니다.

  3. ranger_danger

    > 그리고 이런 부품들 중 많은 수가 암호화 가속 기능이 없거나, 보안을 통한 모호성(security-by-obscurity) 방식으로 암호화 가속기에 대한 문서를 잠가버립니다. 이건 저에게는 절대 용납할 수 없는 문제입니다.

    문서를 잠그는 게 수출 통제나 정부 계약 요건 때문인지 궁금해집니다.

  4. jauntywundrkind

    작은 코어들이 마침내 나오는 걸 보게 되어 정말 기쁩니다. 2011년으로 거슬러 올라가는 Cortex A7을 위협할 만한 뭔가 말이죠!!

    하지만 또한: Cortex A35는 2015년산입니다! 그리고 여전히 이런 작은 애플리케이션 프로세서 코어들은 겨우 졸졸 흐를 뿐입니다. MMU가 있으면 훨씬 더 많은 게 가능해집니다. Baochip과 Xous가 작은 코어지만 MMU를 갖춰서 훨씬 더 흥미로운 OS/시스템 아키텍처를 만드는 걸 보세요.

    정말 저주받은 느낌입니다. 202X년 중반을 훌쩍 넘긴 지금, 201X년 초의 코어들이 여전히 살아있는 것을 넘어 완전히 지배적이라는 게 제 놀라움을 아득히 뛰어넘습니다. ARM의 집안에 뭔가 아주아주아주 잘못된 일이 일어난 겁니다!

  5. brcmthrowaway

    이게 대체 뭐야? 이건 취미 개발자 영역이 아니잖아

이 날의 다른 글

2026-11-08