MCU에 Dual-core시대가 열리고 있습니다.
2025년까지 출시된 제품은 다음과 같습니다.
– ST마이크로일렉트로닉스 STM32H7 시리즈
– Espressif Systems ESP32
– 라즈베리파이 RP2040
– NXP Semiconductors LPC4300 시리즈

MCU에서 왜 Dual-core가 있어야 하는지는 회사마다 다를 것이라고 생각합니다.
두 MCU를 비교하여 Dual core의 장점을 설명하겠습니다.
– Nordic semiconductor를 이용하여 data logger를 구현할 때, 변환 주기와 ADC 값에 문제가 발생되는 경우가 있습니다.
(권장방법으로 개발할 경우는 문제가 나타나지 않음)
Bluetooth 통신으로 인하여, 간섭이 생기는 문제입니다.
같은 시기에 출시된 ESP32는 이런 형상은 나타나지 않습니다.
(단 자체 ADC가 문제가 있지만…)
이는 통신(Bluetooth, WiFi, …) 처리하는 코드 특성인 것 같습니다.
– STM32H7와 RP2040은 아마, 고속으로 동작하는 부분과 저속으로 동작해야 하는 부분을 분리하기 위한 것 같습니다.

각 MCU는 Dual-core를 사용하기 위한 프로그램 방법도 다릅니다.
– 한개의 로더에서 Dual core를 실행하는 것
– 별도의 로더를 사용하여 실행하는 것
이에 따라 core간의 통신 방식도 틀립니다.
ESP32 : https://randomnerdtutorials.com/esp32-freertos-queues-inter-task-arduino/
RP2040 : https://vanhunteradams.com/Pico/Multi/MultiCore.html

이런 MCU를 사용하지 말어야 하는 분야가 있습니다.
– 동작 주기가 긴 절전모드를 사용한 경우
– 동일한 이유이지만, 저전력으로 동작해야 하는 경우
– PCB의 부품 밀도가 놓은 경우
등, 이런 것을 개발하는 경우, 충분한 Test 후 진행해야 합니다.

추가롤 RTOS 사용해 대하여 의견이 기술하겠습니다.
– 당신이 만드는 제품이 메모리(RAM)를 많이, 아주 많이 사용하는 경우에는 사용하지 마세요.
– Task간의 통신이 많은 경우, 사용하지 마세요.
– 고속으로 데이터 변환(ADC)하는 경우에도 사용하지 마세요.
경험상 의견이기에 참고만 하십시오.

윤영기(尹泳祺)
YOON, Young-Ki
e-mail: neoy2g@hotmail.com

By neoy2g