โปรดตรวจสอบเว็บไซต์นี้สำหรับแพลตฟอร์ม Cortex-M3 ที่รองรับ Linux (uClinux):
http://www.emcraft.com/
เราประสบความสำเร็จในการรัน uClinux บน Cortex-M3 MCUs ต่อไปนี้: LPC1788 ของ NXP, STM32F2 ของ STmicro, SmartFusion ของ Actel และกำลังอยู่ในขั้นตอนการเพิ่มการสนับสนุนอีกสอง: Freescale Kinetis, STM32F4 (ทั้งสองนี้คือ Cortex-M4) .
จริง, Linux (รวม uClinux) ต้องใช้ RAM ภายนอกในการรัน - SRAM ที่รวมอยู่ใน Cortex-M นั้นมีขนาดไม่ใหญ่พอที่จะใช้งานได้แม้จะมีการกำหนดค่าลินุกซ์ขนาดจิ๋ว คุณต้องมี RAM ภายนอกอย่างน้อย 4MB สำหรับการกำหนดค่าในทางปฏิบัติ ยิ่งจริงแล้วยิ่งดี - ถ้าคุณต้องการแอปพลิเคชั่น "ฟีเจอร์" ลีนุกซ์สามารถรองรับอะไรก็ได้และคุณจะไม่เสียใจเลยที่คุณเพิ่มแรมมากกว่าเดิม
ในส่วนที่เกี่ยวกับอุปกรณ์เฉพาะที่จะใช้สำหรับ RAM ภายนอกนั้นทั้งหมดนั้นถูกกำหนดโดยอินเตอร์เฟสหน่วยความจำภายนอกที่จัดทำโดย MCU ที่เจาะจง STM32F และ SmartFusion รองรับ SRAM เท่านั้น คุณจะสามารถรับ PSRAM ขนาด 16 เมกะไบต์ 70 เมกะไบต์ (ด้วยโหมดหน้าเพื่อการทำงานที่รวดเร็วขึ้น) ราคา $ 6-7 LPC1788 รองรับหน่วยความจำ SDRAM ที่เร็วขึ้น Kinetis K70 รองรับ DDR2 ($ 5 สำหรับอุปกรณ์ 64MB) และอื่น ๆ ความทรงจำเหล่านั้นใช้พลังงานเพียงแค่ระดับ uA ในช่วงเวลาที่นิ่ง
คุณต้องการบางสิ่งในการโหลดลีนุกซ์ที่สามารถบู๊ตได้ แต่มันสามารถเกี่ยวกับอะไรก็ได้ - เครือข่าย, SDcard, SPI EEPROM, NOR หรือ NAND Flash เป็นต้น
โดยรวมแล้วฉันกล้าพูดได้ว่า Linux เป็นตัวเลือกที่ใช้งานได้จริงสำหรับการออกแบบ Cortex-M3
ปรับปรุง
มีแอพพลิเคชั่นที่ไวต่อการใช้พลังงานมากมายซึ่งอุปกรณ์ของคุณไม่ได้ใช้งานเป็นส่วนใหญ่อย่างไรก็ตามเมื่อใช้งานจะต้องสามารถทำสิ่งต่าง ๆ ที่ไม่ง่ายต่อการบรรลุผลโดยใช้ RTOS ขนาดเล็ก การเชื่อมต่อที่ปลอดภัย, VLAN, การขุด TCP / IP, SNMP, การ์ด SD, อุปกรณ์ USB / โฮสต์, WiFI, ฯลฯ และรายการข้อกำหนดต่างๆ
ด้วย RTOS ขนาดเล็กคุณสมบัติบางอย่างเหล่านี้จะพร้อมใช้งานบางอย่างไม่ได้อย่างไรก็ตามมันเป็นเพียงส่วนหนึ่งของเรื่องราว สิ่งที่เราเห็นกับลูกค้าของเรามากขึ้นเรื่อย ๆ คือการออกแบบที่ฝังตัวโดยใช้ Cortex-M3 ไม่เพียงต้องการคุณสมบัติขั้นสูงเพียง 1 หรือ 2 เท่านั้นพวกเขาต้องการสิ่งเหล่านี้จำนวนมากจากอุปกรณ์เดียว แม้ว่า RTOS จะให้คุณสมบัติทั้งหมดที่การออกแบบต้องการ แต่การยัดเยียดมันทั้งหมดลงในหน่วยความจำบนชิปก็เป็นสิ่งที่ท้าทาย uClinux หรือไม่ฉันเดาว่าแนวโน้มจะเป็นเช่นนั้นการออกแบบที่ใช้ Cortex-M มากขึ้นจะใช้หน่วยความจำภายนอก แน่นอนว่าเมื่อคุณได้รับ RAM ภายนอกในการออกแบบของคุณ uClinux ก็เริ่มเข้าใจได้ง่ายขึ้น
เกี่ยวกับพลังการประมวลผลต่ำจาก Cortex-M (วัดจากความต้องการของเคอร์เนล Linux) ซึ่งเป็นประสบการณ์ที่ผ่านมาเราเพิ่งเปิดใช้ uClinux บน Freescale K70 MCU นี่คือ Cortex-M4 (ซึ่งเหมือนกับ Cortex-M3 บวกกับฮาร์ดแวร์ FP และหน่วย DSP); อินเทอร์เฟซบนชิปกับ RAM ความหนาแน่นสูง (DDR2) และแฟลช (NAND) พร้อมแคช 2x8KB บนชิป แกน Cortex-M 120Mhz พร้อมกับชิ้นส่วน 150Mhz ที่จะออกมาเร็ว ๆ นี้
Linux (uClinux) ทำงานได้อย่างยอดเยี่ยมบนอุปกรณ์นี้ เมื่อใช้ 'dhrystone' เราจะได้รับประสิทธิภาพประมาณ 50% ที่เราได้รับในกล่อง Freescale PowerPC ขนาด 250 เมกะเฮิร์ตซ์ การบูทเร็ว, RAM จำนวนมาก (โมดูล TWR-K70 ให้ 128MB RAM และ 256MB ของ NAND Flash), ระบบเครือข่าย, JFFS2, framebuffer, SSH, HTTPD, Qt / E - ทั้งหมดนี้ทำงานได้ดีบน K70 ประสบการณ์การใช้งานโดยรวมคือ "ลินุกซ์ฝังตัว" ของคุณบนไมโครโปรเซสเซอร์ MMU เต็มรูปแบบ
นี่คือตัวชี้ไปยังวิดีโอของเซสชัน uClinux สดที่ทำงานบน Freescale Kinetis K70 Cortex-M4 MCU:
http://www.youtube.com/watch?v=UZjJrLG9CeA