Linux (uClinux)를 지원하는 일부 Cortex-M3 플랫폼에 대해서는이 사이트를 확인하십시오.
http://www.emcraft.com/
NXP의 LPC1788, STmicro의 STM32F2, Actel의 SmartFusion과 같은 Cortex-M3 MCU에서 uClinux를 성공적으로 실행하고 Freescale Kinetis, STM32F4 (두 개는 Cortex-M3이 아닌 Cortex-M4)를 추가로 지원하고 있습니다. .
사실, Linux (uClinux 포함)를 실행하려면 외부 RAM이 필요합니다. Cortex-M의 통합 SRAM은 초소형 Linux 구성에서도 충분히 크지 않습니다. 실제 구성을 위해서는 최소 4MB의 외부 RAM이 필요합니다. 사실, 응용 프로그램에 "기능"이 필요한 경우 Linux가 더 많은 기능을 지원하므로 더 적은 RAM을 추가 한 것이 유감입니다.
외부 RAM에 사용할 특정 장치와 관련하여 모든 장치는 특정 MCU에서 제공하는 외부 메모리 인터페이스로 정의됩니다. STM32F 및 SmartFusion은 SRAM 만 지원합니다. 6 ~ 7 달러에 16MB 70ns PSRAM (더 빠른 작동을위한 페이지 모드)을 얻을 수 있습니다. LPC1788은 더 빠른 SDRAM 메모리를 지원합니다. Kinetis K70은 DDR2 (64MB 장치의 경우 5 달러) 등을 지원합니다. 모든 메모리는 정적 시간에 단 uA 수준에서 전력을 소비합니다.
부팅 가능한 Linux를로드 할 것이 필요하지만 네트워크, SD 카드, SPI EEPROM, NOR 또는 NAND Flash 등이 될 수 있습니다.
전반적으로, 나는 리눅스가 Cortex-M3 디자인을위한 완전히 실용적인 옵션이라고 감히 이야기한다.
최신 정보
장치가 대부분 유휴 상태 인 많은 전력에 민감한 응용 프로그램이 있지만 실행시 더 작은 RTOS를 사용하여 달성하기 쉽지 않은 많은 작업을 수행 할 수 있어야합니다. 보안 연결, VLAN, TCP / IP 터널링, SNMP, SD 카드, USB 장치 / 호스트, WiFI 등 요구 사항 목록이 계속 이어집니다.
RTOS가 작 으면 일부 기능을 사용할 수 있지만 일부 기능은 제공되지 않습니다. 고객과 함께 점점 더 많이보고있는 것은 Cortex-M3을 사용하는 임베디드 디자인에는 이러한 고급 기능 중 하나 또는 두 개가 필요하지 않고 단일 장치에서 많은 기능이 필요하다는 것입니다. RTOS가 설계에 기성품이 필요한 모든 기능을 제공하더라도 온칩 메모리에 모두 적용하는 것은 어려운 일이 될 것입니다. 유씨 리눅스이든 아니든, 제 생각에 점점 더 많은 Cortex-M 기반 디자인이 외부 메모리를 사용하게 될 것입니다. 물론 디자인에 외부 RAM이 있으면 uClinux가 더 이해하기 시작합니다.
최근의 경험으로 Cortex-M이 제공하는 낮은 처리 성능 (리눅스 커널의 요구 사항과 비교하여 측정)에 대해 Freescale K70 MCU에서 uClinux를 활성화했습니다. 이것은 Cortex-M4 (Cortex-M3 plus 하드웨어 FP 및 DSP 장치와 동일)입니다. 2x8KB 온칩 캐시를 사용하여 고밀도 RAM (DDR2) 및 플래시 (NAND)에 대한 온칩 인터페이스. 120Mhz Cortex-M 코어, 150Mhz 부품이 곧 나옵니다.
Linux (uClinux)는이 장치에서 아름답게 실행됩니다. 'dhrystone'을 사용하면 250Mhz Freescale PowerPC 상자에서 얻을 수있는 약 50 %의 성능을 얻습니다. 빠른 부팅, 많은 RAM (TWR-K70 모듈은 128MB RAM 및 256MB NAND 플래시 제공), 네트워킹, JFFS2, 프레임 버퍼, SSH, HTTPD, Qt / E-이 모든 것은 K70에서 잘 작동합니다. 전반적인 사용자 경험은 MMU 전체 마이크로 프로세서의 일반적인 "임베디드 Linux"입니다.
다음은 Freescale Kinetis K70 Cortex-M4 MCU에서 실행되는 라이브 uClinux 세션 비디오에 대한 포인터입니다.
http://www.youtube.com/watch?v=UZjJrLG9CeA