NuttX

ภาพหน้าจอของซอฟแวร์:
NuttX
รายละเอียดซอฟแวร์:
รุ่น: 7.9 การปรับปรุง
วันที่อัพโหลด: 10 May 15
ผู้พัฒนา: Gregory Nutt
การอนุญาต: ฟรี
ความนิยม: 53

Rating: 4.0/5 (Total Votes: 1)

NuttX เป็นโอเพนซอร์สที่กำหนดและเรียลไทม์ฟรีระบบปฏิบัติการแบบฝังตัว (RTOS) ได้รับการออกแบบจากการชดเชยที่จะใช้งานฝังลึกในสภาพแวดล้อมที่มีข้อ จำกัด ของทรัพยากร มันมีรอยขนาดเล็กที่สามารถใช้งานได้ในสภาพแวดล้อมที่ไมโครคอนโทรลเลอร์และมัน & rsquo; s ปรับขนาดได้อย่างเต็มที่จากเล็ก ๆ (8 บิต) ถึงปานกลางฝังตัว (32 บิต) ระบบ
นอกจากนี้ยังมีวัตถุประสงค์เพื่อเป็นสอดคล้องกับมาตรฐานที่จะเป็นเรียลไทม์ได้อย่างเต็มที่และจะเปิดทั้งหมด NuttX มีคุณสมบัติที่อุดมไปด้วย OS ชุดออกแบบโมดูลก็สามารถปรับได้สูงและกำหนดค่าเช่นเดียวกับมาตรฐานตาม มันมีการกระจายที่มีใบอนุญาต BSD ที่ไม่ จำกัด มันถูกขนานนามว่ามักจะโดยนักพัฒนาที่เป็น "ลินุกซ์เล็ก ๆ ." คุณสมบัติที่คุณสมบัติ glanceKey รวมถึงการจัดการงานหลัก BSD อินเตอร์เฟซซ็อกเก็ต allocators หน่วยความจำ (หน่วยความจำที่ใช้ร่วมกันจัดสรรหน่วยความจำกองมาตรฐานการป้องกันด้วยการสร้าง MPU, สร้างที่ฝังตัวแบนต่อกระบวนการ กองจัดสรรเม็ดและขนาดแบบไดนามิก) การกำหนดค่าหน่วยความจำคู่มือ porting, preemptible อย่างเต็มที่ในการดำเนินงาน tickless, เพจตามความต้องการในการเข้าสู่ระบบและระบบ
นอกจากนี้โครงการส่วนขยายที่มาพร้อมกับการจัดการก่อน emption ต่อด้ายในตัววัดภาระของ CPU, เอกสารครบวงจรงานตัวเลือกที่มีสภาพแวดล้อมที่อยู่ ANSI เ​​หมือนและ POSIX เหมือนควบคุมงานนาฬิกา pthreads สภาพแวดล้อม ตัวแปรสัญญาณชื่อคิวข้อความตัวจับเวลาระบบแฟ้มและการนับสัญญาณ
ในลักษณะอื่น ๆ ที่เราสามารถพูดถึงการตั้งเวลารอบโรบิน FIFO สนับสนุนให้เป็นมรดกความสำคัญการสนับสนุนสำหรับสถาปัตยกรรม SoC สนับสนุนสำหรับสถาปัตยกรรมรีด, การสนับสนุนสำหรับสถาปัตยกรรมหน่วยประมวลผลใหม่ตัวนับจ้องจับผิดการจัดการงาน V​​xWorks เหมือน I / O และการเปลี่ยนเส้นทาง ส่ง & ldquo; การควบคุมอาคาร & rdquo;. สนับสนุน platformsNuttX สนับสนุนความหลากหลายของแพลตฟอร์มฮาร์ดแวร์ในระหว่างที่เราสามารถพูดถึงหน่วยประมวลผล ARM จำนวนมากรวมถึง ARM Cortex-M3, ARM926EJS, ARM7TDMI, ARM Cortex-M4, ARM Cortex-M0, ARM920T และ ARM Cortex-A5 เช่นเดียวกับ Atmel AVR 8 บิต Freescale M68HCS12, AVR32 Atmel AVR แพลตฟอร์ม
นอกจากนี้ยังสนับสนุนแพลตฟอร์มอินเทลต่างๆเช่น MICROCHIP PIC32MX (MIPS) 80c52 80 & ครั้ง; 86 แพลตฟอร์ม Zilog รวมทั้ง Zilog Z80, Zilog Z16F, Zilog Z8Encore! และ Zilog eZ80 โห่ร้อง !, และ Renesas / ฮิตาชิ SuperH และ Renesas M16C / 26 แพลตฟอร์ม

มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.

  • คุณสมบัติ: คุณสมบัติใหม่เพิ่มเติมและการขยายการทำงาน:
  • แกน OS:
  • Watchdog Timer จัดสรร: (1) ถ้าเราวิ่งออกมาจากครั้งก่อนจ้องจับผิดจัดสรรตรรกะนี้จะจัดสรรตัวนับเพิ่มเติมจากกอง สำรองของตัวนับสุนัขเฝ้าบ้านก่อนการจัดสรรจะยังคงอยู่เพื่อให้มีจะเป็นตัวนับใช้ได้สำหรับรถยกขัดจังหวะ (2) เพิ่มการสนับสนุนสำหรับการจัดสรรเวลาจ้องจับผิดแบบคงที่
  • การสนับสนุนสภาพแวดล้อมที่อยู่: (2) APIs OS ใหม่แบบบูรณาการในทุกบริบทแพลตฟอร์มเฉพาะการเปลี่ยนตรรกะ (up_block_task () up_unblock_task () _exit () และอื่น ๆ )
  • .
  • Kernel สร้างการสนับสนุน: (1) ตาม MPU & quot; เคอร์เนลสร้าง & quot; เปลี่ยนชื่อเป็นสร้างการป้องกัน (CONFIG_BUILD_PROTECTED); เพิ่มการสนับสนุนสำหรับใหม่ MMU-based & quot; เคอร์เนลสร้าง & quot; (CONFIG_BUILD_KERNEL), (2) ระบบห้องสมุดโทรขณะนี้คุณสามารถสร้างขึ้นด้วย CONFIG_NUTTX_KERNEL เลือกใหม่ *:. CONFIG_LIB_SYSCALL
  • การเริ่มต้นระบบ: เพิ่มตัวเลือกการกำหนดค่าการเริ่มต้นระบบจากโปรแกรมบนระบบไฟล์ (เมื่อเทียบกับที่อยู่ในความทรงจำ)
  • .
  • เริ่มต้นพารามิเตอร์ผ่าน: มีการใช้เป็นสองวิธีในการส่งผ่านพารามิเตอร์กับงานใหม่ขึ้นอยู่กับการกำหนดค่า: ทั้งสอง (1) argv [] เป็นสร้างเป็นอาร์เรย์กับแต่ละสาย strdup'ed หรือ (2) argv [] อาร์เรย์และสตริงที่ถูกสร้างขึ้นในกองก่อนงานเริ่มต้นใหม่ ขณะนี้มีเพียงวิธีหนึ่งวิธี (2) วิธี (1) อาจจะมีขนาดกะทัดรัดมากขึ้นเล็กน้อย แต่ไม่คุ้มค่าความซับซ้อนของการดำเนินการสองวิธีที่แตกต่างกันของการทำสิ่งเดียวกัน.
  • การเริ่มต้นคณะกรรมการ: เพิ่มความสามารถในการดำเนินการของคณะกรรมการการเริ่มต้นครั้งแรกในหัวข้อคนงานแยกต่างหาก นี้เป็นสิ่งจำเป็นเพราะมีหลายกรณีที่การเริ่มต้นตรรกะไม่สามารถดำเนินการเกี่ยวกับการเริ่มต้นขึ้น / ด้ายว่าง นั่นเป็นเพราะการปิดกั้นหรือรอไม่ได้รับอนุญาตในหัวข้อ IDLE.
  • การจัดการหน่วยความจำ:
  • เม็ดจัดสรร (1) เพิ่มฟังก์ชั่นใหม่เพื่อรองรับภูมิภาคยกเลิก allocatable ในกองทราย (2) เพิ่มการเชื่อมต่อเพื่อสนับสนุนการยกเลิกการเตรียมจัดสรรเม็ด.
  • หน้าจัดสรร: จัดสรรเพิ่มหน้าทางกายภาพง่ายขึ้นอยู่กับที่มีอยู่ NuttX จัดสรรเม็ด ผมไม่แน่ใจว่าการจัดสรรเม็ดเป็นกำหนดเพียงพอสำหรับการใช้งานในระยะยาว แต่ได้รับได้รับการจัดสรรหน้าในสถานที่สำหรับการทดสอบอย่างรวดเร็ว.
  • ลบ CONFIG_MM_MULTIHEAP: การดำเนินการไม่ได้รับการสนับสนุน multiheap ไม่
  • .
  • sbrk (). sbrk () ได้รับการสนับสนุนในขณะนี้ในการสร้างเคอร์เนลจะอนุญาตให้มีขนาดแบบไดนามิกกองต่อกระบวนการ
  • กองต่อกระบวนการ: พื้นที่ที่จุดเริ่มต้นของการประมวลผลข้อมูลพื้นที่สงวนไว้ในขณะนี้สำหรับโครงสร้างการบริหารจัดการกองผู้ใช้ ในโหมดเคอร์เนลสร้างเหล่านี้โครงสร้างกองกำลังร่วมกันระหว่างเมล็ดและการใช้รหัสในการสั่งซื้อที่จะจัดสรรข้อมูลเฉพาะของผู้ใช้.
  • ผู้กองบริหาร: เมื่อออกด้ายสิทธิพิเศษที่เราจะต้องใช้เคอร์เนลจัดสรรหน่วยความจำ; เมื่อออกจากกระทู้ด้อยโอกาสที่เราไม่ต้องทำอะไร ... หน่วยความจำกองจะได้รับการทำความสะอาดขึ้นเมื่อสภาพแวดล้อมที่อยู่จะถูกดึงลงมา.
  • ระหว่างกระบวนการสนับสนุนหน่วยความจำที่ใช้ร่วมกัน (1) เพิ่มการดำเนินงานและเอกสารสำหรับ shmget () shmctl () shmat () และ shmdt () (2) เพิ่มระบบสายระบบเพื่อสนับสนุนประตูเรียกให้ผู้ใช้อินเตอร์เฟซหน่วยความจำที่ใช้ร่วมกัน (3) เพิ่มคำจำกัดความของอินเตอร์เฟซแพลตฟอร์มเฉพาะที่จำเป็นในการสนับสนุนคุณสมบัติหน่วยความจำที่ใช้ร่วมกัน.
  • หน้าเสมือนจัดสรร: เพิ่มการสนับสนุนสำหรับเสมือนหน้าต่อกระบวนการจัดสรร นี้เป็นสมาชิกใหม่ของโครงสร้าง task_group_s จัดสรรจะต้องเริ่มต้นเมื่อกระบวนการที่ผู้ใช้ใหม่จะเริ่มต้นและ uninitialize เมื่อกลุ่มกระบวนการจะถูกทำลายในที่สุด มันถูกใช้โดย shmat () และ shmdt () เพื่อเลือกที่อยู่เสมือนที่จะลงบนแผนที่หน่วยความจำกายภาพที่ใช้ร่วมกัน.
  • ระบบไฟล์ / Block ไดรเวอร์ / MTD:
  • FS สมาร์ท: FS สมาร์ทและสมาร์ท FS procfs อัพเดทจากเคนเพอร์ตี้
  • .
  • MTD. MTD อ่านข้างหน้า / เขียนชั้นบัฟเฟอร์ปรากฏมีการทำงานในขณะนี้
  • รูปแบบไบนารี:
  • กระบวนการต่อกอง:. เพิ่มตรรกะในการเริ่มต้นกองผู้ใช้ต่อกระบวนการขั้นตอนเมื่อผู้ใช้แต่ละคนจะเริ่มต้น
  • กราฟิก:
  • NxTerm: เปลี่ยนที่เกิดขึ้นทั้งหมดของ NxConsole เพื่อ NxTerm
  • .
  • เครือข่าย:
  • PHY Interrupts (1) มาตรฐานอินเตอร์เฟซที่แนบมาขัดจังหวะ PHY (2) เพิ่มการสนับสนุนสำหรับ IOCTL ที่สามารถใช้แอพลิเคชันที่จะแจ้งให้เมื่อมีการเปลี่ยนแปลงในสถานะเครือข่ายสัญญาณโดยการขัดจังหวะ PHY.
  • ส่งลอจิกที่ดีขึ้น: ในอดีตที่ผ่านมาแพ็คเก็ตแรกที่ส่งให้เพื่อนเครือข่ายใหม่จะล้มเหลว; จะมีรายการในตาราง ARP สำหรับเพียร์และอื่น ๆ ตามคำขอ ARP สามารถใช้ทดแทนที่แพ็คเก็ตครั้งแรก ตอนนี้เป็นตัวเลือกถ้า CONFIG_NET_ARP_SEND y = ทั้งหมดจะส่งตรรกะ (1) ตรวจสอบว่าเพียร์ที่อยู่ MAC ที่อยู่ในตาราง ARP และถ้าไม่ได้ (2) ส่งคำขอ ARP เป็นระยะ ๆ ที่จะได้รับการทำแผนที่และ (3) รอ ตอบ ARP จากนั้น (4) เมื่อการตอบสนอง ARP จะได้รับแล้วส่งตรรกะที่เกิดขึ้นจริงจะได้รับการริเริ่ม ดังนั้นอาจมีความล่าช้ากับแพ็คเก็ตแรกที่ส่งไปยังเพื่อนใหม่ แต่แพ็คเก็ตไม่ควรจะหายไป
  • จำลองพิธีกร:
  • ไดร์เวอร์ SPI FLASH. เทิดทูนขับ SPI Flash สำหรับเป้าหมายจากเคนซิมเพอร์ตี้
  • อินเทล x86:
  • เริ่มต้นพิธีกร: เจ้าภาพเริ่มต้นคือตอนนี้ x86_64 และตัวเลือกที่ -m32 จะถูกเลือกโดยอัตโนมัติสำหรับการจำลองสร้าง
  • .
  • Intel 8051 ครอบครัว:
  • 8051 ลบ: ลบการสนับสนุนทั้งหมดสำหรับสถาปัตยกรรมครอบครัว 8051 จากแหล่งต้นไม้ NuttX รหัสจำหน่ายแล้วพร้อมกับแพทช์กำจัดขณะนี้สามารถพบได้ที่ misc / จำหน่าย / รหัสนี้ถูกลบออกเนื่องจาก (1) ถึงแม้ว่าการทำงานบางอย่างได้รับการแสดงให้เห็นถึงผมไม่ทราบพอร์ตประสบความสำเร็จจริงๆใด ๆ ของ NuttX ใด ๆ 8051 และ (2) 8051 กับสแต็คของฮาร์ดแวร์บังคับข้อ จำกัด และภาวะแทรกซ้อนที่จะสถาปัตยกรรมอื่น ๆ และทำให้การเจริญเติบโตและการพัฒนาของ NuttX ที่ซับซ้อนมากขึ้น.
  • ZiLOG ZNeo บอร์ด:
  • configs / 16z: การสนับสนุนสำหรับบอร์ดนี้ได้ถูกลบออกจากแหล่งต้นไม้ NuttX (แต่ก็ยังสามารถพบได้ใน misc / directory จำหน่ายแล้ว) พอร์ตนี้ยังไม่พร้อมสำหรับการใช้งาน แต่อาจจะกลับมาต้นไม้ NuttX ที่จุดในอนาคตบาง.
  • Atmel SAM3 / 4 บอร์ด:
  • SAM4E-EK:. เพิ่ม (1) ขับ ILI9341 จอแอลซีดีที่ใช้การทำงานอย่างเต็มที่และ (2) การกำหนดค่า NxWM การทำงานอย่างเต็มที่
  • ARMv7-:
  • สภาพแวดล้อมที่อยู่: เพิ่มการสนับสนุนสำหรับสภาพแวดล้อมที่อยู่โดยใช้แอพลิเคชัน Cortex-MMU อินเตอร์เฟซที่ใช้แพลตฟอร์มเฉพาะมาตรฐานของการสนับสนุนสภาพแวดล้อมที่อยู่ NuttX.
  • การดำเนินงานแคช: ใช้มาตรฐานแพลตฟอร์มเฉพาะการดำเนินงานแคช เหล่านี้เรียกว่าโหลดจากเอลฟ์เพื่อล้าง D-แคชและฉันโมฆะแคชหลังจากโมดูลเอลฟ์ได้รับการโหลดลงในหน่วยความจำ กับการเปลี่ยนแปลงนี้โมดูลเอลฟ์ทำงานอย่างถูกต้องใน SAMA5 / Cortex-แพลตฟอร์ม.
  • สร้างเคอร์เนล (1) เพิ่มการใช้งานของระบบประตูเรียก (2) การเพิ่มไฟล์เริ่มต้นขึ้น CRT0 ที่สามารถเชื่อมโยงกับการสร้างโปรแกรมการแยกผู้ใช้ (3) เพิ่มการสนับสนุนสำหรับการส่งสัญญาณการใช้งานในโหมดสร้างเคอร์เนล (4) เพิ่มตรรกะในการเริ่มต้นกองผู้ใช้ต่อกระบวนการขั้นตอนเมื่อผู้ใช้แต่ละคนจะเริ่มต้น (5) ARMv7-จัดการข้อยกเว้นต้องทำงานแตกต่างกันเล็กน้อยถ้าเราสนับสนุนกระบวนการโหมดผู้ใช้ นี้เป็นเพราะ R13 และ R14 จะแตกต่างกันระหว่างเพจของผู้ใช้และโหมด SVC.
  • หน่วยความจำที่ใช้ร่วมกันสนับสนุน: (1) เพิ่มตรรกะที่จำเป็นในการจัดการกับการแมปของหน่วยความจำที่ใช้ร่วมกันบนสวิทช์บริบท (2) ขยายเสมือน / แปลงที่อยู่ทางกายภาพที่จะรวมอยู่ในหน่วยความจำที่ใช้ร่วมกัน (3) เพิ่มการดำเนินงานของแพลตฟอร์มเฉพาะสนับสนุนหน่วยความจำที่ใช้ร่วมกัน.
  • Atmel SAMA5D ไดรเวอร์:
  • เครือข่าย IOCTLS:. ใช้ ioctls ทุกเครือข่ายรวมถึง IOCTL ใหม่ที่จะตั้งค่าการแจ้งเตือนเหตุการณ์ PHY
  • การแปลงที่อยู่:. ในเคอร์เนลสร้างด้วยสภาพแวดล้อมที่อยู่ต้องตรรกะในการใช้แผนที่ที่อยู่เสมือนที่อยู่ทางกายภาพและในทางกลับกัน
  • Atmel SAMA5D บอร์ด:
  • SAMA5D3 Xplained, SAMA5D3-EK และ SAMA5D4-EK: แปลงอินเตอร์เฟซการขัดจังหวะ PHY เฉพาะคณะกรรมการที่มีอยู่เพื่อใช้อินเตอร์เฟซมาตรฐานที่กำหนดขึ้นใหม่
  • .
  • SAMA5D4-EK: เพิ่มการกำหนดค่าสำหรับการทดสอบเคอร์เนลสร้างการกำหนดค่า มีการกำหนดค่าการบูตทั้งจากการ์ด SD หรือจากและในหน่วยความจำของระบบไฟล์ ROMFS มี.
  • SAMA5D4-EK: เพิ่มเอกสาร / การสนับสนุนสำหรับเรฟอีคณะกรรมการ
  • .
  • STMicro STM32 ไดรเวอร์:
  • อีเธอร์เน็ต: ปรับเปลี่ยนเพื่อรองรับการเปลี่ยนแปลงไปยังเครือข่าย IOCTL เปลี่ยนแปลงลายเซ็น นอกจากนี้ยังเพิ่มการสนับสนุนสำหรับ IOCTL ใหม่ที่จะตั้งค่าการแจ้งเตือนเหตุการณ์ PHY.
  • STMicro STM32 บอร์ด:
  • STM32F4Discovery กับ STM32F4DIS-BB: เพิ่มการเปิดใช้งานการตั้งค่าเครือข่าย NSH สำหรับคณะกรรมการ STM32F4Discovery กับคณะกรรมการฐาน STM32F4DIS-BB ติดตั้ง รวมถึงการสนับสนุนสำหรับช่องเสียบการ์ด microSD บนกระดานฐาน STM32F4DIS-BB.
  • TI Tiva ไดรเวอร์:
  • TI CC3200: เพิ่มการสนับสนุนสำหรับ TI CC3200 จากจิมวิง.
  • TI Tiva บอร์ด:
  • TI CC3200 Launchpad: เพิ่มการสนับสนุนสำหรับ TI CC3200 Launchpad จากจิมวิง.
  • C ห้องสมุด:
  • การสำรวจความคิดเห็น (). การสำรวจความคิดเห็นเรื่องการดำเนินการ () ล่าช้าใช้ sem_timedwait ()
  • การตั้งค่า / สร้างระบบ:
  • ส่งออกเป้าหมาย: ในเคอร์เนลหรือการป้องกันสร้าง (1) เท่านั้นห้องสมุดผู้ใช้ควรจะส่งออก (2) ไม่ได้คัดลอกไฟล์ส่วนหัวภายในหรือสร้างสคริปต์ว่านี้เป็นเคอร์เนลหรือการป้องกันการสร้าง, และ (3) ความต้องการ ที่จะกำแฟ้มเริ่มต้นใช้ C (crt0) ไม่ใช่วัตถุหัวเคอร์เนลสำหรับเคอร์เนลและการป้องกันสร้าง.
  • CFLAGS โปรแกรม: เพ​​ิ่มตรรกะที่จะอนุญาตให้เราสามารถสร้างห้องสมุดผู้ใช้ที่มี CFLAGS แตกต่างจากรหัสเคอร์เนล นี้เป็นสิ่งจำเป็นเพราะเราต้องเลือกที่ -fno ทั่วไปเมื่อมีการสร้างรหัสเอลฟ์เพื่อป้องกันไม่ให้ย้าย SHN_COMMON.
  • การใช้งาน:
  • NSH: ขยาย NSH ตรรกะการเริ่มต้นของเครือข่าย ขณะนี้มีตัวเลือกที่จะสร้างกระทู้ตรวจสอบเครือข่ายที่จะตรวจสอบสถานะของการเชื่อมโยง เมื่อเชื่อมโยงไปลงรหัสจะพยายามที่จะใส่ได้อย่างสง่างามคนขับอีเธอร์เน็ตในรัฐลง; เมื่อการเชื่อมโยงกลับมารหัสจะพยายามที่จะนำเครือข่ายกลับขึ้น.
  • เอลฟ์ตัวอย่าง:. ทดสอบเอลฟ์ / ตัวอย่างเช่นได้รับการขยายเพื่อให้เอลฟ์โปรแกรมการทดสอบของแต่ละบุคคลสามารถเชื่อมโยงกับห้องสมุด syscall (ถ้ามี) หรือกับห้องสมุด C เพื่อขจัดหรือลดความจำเป็นสำหรับตารางสัญลักษณ์
  • NxTerm: เปลี่ยนที่เกิดขึ้นทั้งหมดของ NxConsole เพื่อ NxTerm
  • .
  • MTDRWB ตัวอย่าง:. เพิ่มตัวอย่างเช่นในการทดสอบ MTD R / W บัฟเฟอร์
  • OS ทดสอบตัวอย่าง: เพิ่มการทดสอบที่น่ารำคาญของ sem_timedwait ()
  • .
  • การประยุกต์ใช้การตั้งค่า / สร้างระบบ:
  • นำเข้าเป้าหมาย: (1) เพิ่มตรรกะที่จะช่วยให้การใช้งานอาคารกับแพคเกจการส่งออก NuttX (เทียบกับ nuttx / แหล่งต้นไม้) (2) การเพิ่มไฟล์ .config เพื่อการส่งออกแพคเกจ (3) การสร้างแอพพลิเค / นำเข้า สร้างปพลิเคชัน / นำเข้า / Make.defs ที่ไม่สิ่งที่ต้องการกำหนด CFLAGS; สร้างเอลฟ์ต้อง -fno ทั่วไปใน CFLAGS คัดลอกตรรกะฐานจาก nuttx / เครื่องมือ / Config.mk ปพลิเคชัน / นำเข้า / Make.defs (4) ปพลิเคชันเพิ่ม / นำเข้า / สคริปต์ / GNU-elf.ld สคริปต์ลิงเกอร์ GCC สำหรับการนำเข้าเอลฟ์สร้าง.
  • ทั้งหมด Makefiles (1) ติดตั้งเพิ่มเป้าหมาย makefiles ทั้งหมด สำหรับการสร้างการนำเข้า Makefile ระดับบนสุดในขณะนี้จะผ่านไปสอง (1) สร้าง libapp.a แล้ว (2) การติดตั้งโปรแกรมลงในแอพพลิเค / bin (2) เพิ่มการติดตั้งโปรแกรมสำหรับการ CONFIG_BUILD_KERNEL Makefiles ในทุกสิ่งที่สร้าง main () (3) สำหรับการสร้างเคอร์เนลไฟล์วัตถุที่มี main () ไม่สามารถเข้าห้องสมุดเพราะชนชื่อ ไฟล์วัตถุต้องจัดการเป็นกรณีพิเศษในทุก Makefile.
  • ทั้งหมดในตัวโปรแกรม: ด้วยการสร้างเคอร์เนล (CONFIG_BUILD_KERNEL) จุดเริ่มต้นกับงานทุกคนเป็นหลัก () ไม่บาง xyz_main ()
  • .
  • NSH: คำสั่งหลายจะต้องใช้งานในการสร้างเคอร์เนลเพราะพวกเขาขึ้นอยู่กับอินเตอร์เฟซที่ไม่สามารถออกไปข้างนอกของเมล็ด. ว, DF, losetup, mkfatfs, mkdr และ PS
  • ปพลิเคชัน / เครื่องมือ / (1) เพิ่ม mkimport.sh จะระเบิดแพคเกจนำเข้า NuttX และติดตั้งในปพลิเคชัน / นำเข้า (2) เพิ่มสคริปต์ mkromfsimg.sh ในการสร้างระบบแฟ้มภาพ BOOT ROMFS.
  • เอลฟ์และ NxFLAT ตัวอย่าง:. อย่าสร้างกรณีทดสอบที่ใช้ task_create () ถ้ามีสภาพแวดล้อมที่อยู่
  • เครื่องมือ
  • refresh.sh:. เพิ่มเครื่องมือที่จะทำให้การกำหนดค่าความสดชื่นง่ายขึ้นเมื่อคุณต้องการที่จะทำมากของพวกเขา
  • mksyscall.c: สร้าง syscalls ที่ไม่จำเป็นต้องไฟล์ส่วนหัว
  • .
  • mkexport.sh:. เพิ่มไฟล์ .config เพื่อการส่งออกแพคเกจ
  • ปพลิเคชัน / เครื่องมือ: ดูข้างต้นสำหรับปพลิเคชันใหม่ / เครื่องมือสคริปต์
  • .
  • ความพยายามในความคืบหน้า ต่อไปนี้เป็นคุณสมบัติที่มีการดำเนินการบางส่วน แต่อยู่ในข่าวประชาสัมพันธ์ฉบับนี้ พวกเขาไม่น่าจะแล้วเสร็จในเร็ว ๆ นี้.
  • กระบวนการ: มากจากการทำงานในรุ่นนี้จะเน้นในการก่อให้เกิดกระบวนการที่ใช้ระบบปฏิบัติการยูนิกซ์สไตล์ NuttX มีมากขึ้นจะทำอย่างไร แผนงานเต็มรูปแบบและสถานะมีอยู่ที่: http://www.nuttx.org/doku.php?id=wiki:nxinternal:memconfigs#the_roadmap_toward_processes
  • XMega: มีชิ้นส่วนบางอย่างในสถานที่สำหรับพอร์ต XMega มี พอร์ตที่ไม่ได้เริ่มต้นจริงๆ แต่.
  • กาลิเลโอ: ในทำนองเดียวกันมีชิ้นส่วนในสถานที่สำหรับพอร์ต Intel กาลิเลโอ พอร์ตไม่ได้รับการเริ่มต้นอย่างจริงจังอย่างใดอย่างหนึ่ง.
  • Bugfixes เฉพาะ bugfixes ที่สำคัญที่สุดอยู่ที่นี่ (ดู ChangeLog สำหรับรายการที่สมบูรณ์ของ bugfixes และเพิ่มเติมข้อมูลรายละเอียดเพิ่มเติม bugfix):
  • แกน OS:
  • Kernel สร้างการแก้ไข: (1) การตั้งค่า IDLE TCB ความต้องการที่จะแสดงให้เห็นว่าด้ายว่างเป็นสิทธิพิเศษด้ายเคอร์เนล (2) อย่าสร้าง task_create () หรือ task_spawn () การเชื่อมต่อถ้ามีสภาพแวดล้อมที่อยู่ (3) posix_spawn () ด้ายพร็อกซี่เคอร์เนลควรจะด้ายเคอร์เนล, ไม่เป็นงานที่ผู้ใช้.
  • การเชื่อมต่อหลาย pthread: เพิ่มระดับการจัดเก็บ const เพื่อ phthread พารามิเตอร์ จากเฟรดดี้โชแปง.
  • Sched / นาฬิกา: เอาร่องรอยของ g_tickbias; ต้องแทนที่จะใช้เวลาที่จะมีอคติ g_basetime เพื่อที่จะให้เวลาผ่านระบบที่ถูกต้อง.
  • ระบบโทร: (1) ความผิดพลาดหลายคงที่ บูรณาการการแก้ไขของ exevc () execvl () posix_spawn () และ posix_spawnp () ระบบสาย (2) ถ​​้าเราจะกำหนดค่าการใช้แตกเคอร์เนลในขณะที่ในการจัดการ syscall แล้วเราต้องเปลี่ยนกลับไปยังกองผู้ใช้สามารถส่งสัญญาณ.
  • ระบบไฟล์ / Block ไดรเวอร์ / MTD:
  • procfs: แก้ไขบางอย่างแตก procf นำโดยการปรับโครงสร้างบางอย่างที่ไม่ reorganizable โครงสร้างข้อมูล จากเพอร์ตี้เคน.
  • AT45: ใน at45db_bwrite () บัฟเฟอร์จะไม่เพิ่มขึ้นเมื่อเขียนมากกว่า 1 หน้า Sourceforge ข้อผิดพลาด # 34.
  • รูปแบบไบนารี:
  • ย้ายเอลฟ์: การย้ายบางชนิดไม่ได้มีสัญลักษณ์ชื่อเกี่ยวข้องกับพวกเขา การออกแบบที่ไม่ได้บัญชีสำหรับกรณีที่.
  • เอลฟ์ตัวโหลด:. bugfix สำคัญ .. BSS ไม่ได้ถูกล้าง
  • การจัดการหน่วยความจำ:
  • เม็ดจัดสรร: จัดสรรเม็ดเริ่มต้นใช้จัดสรรผิดที่จะตั้งค่ากันหน่วยความจำเคอร์เนล
  • .
  • กลุ่มสิทธิพิเศษ: เพิ่มธงโครงสร้างกลุ่ม: ถ้ากลุ่มที่สร้างขึ้นโดยด้ายเคอร์เนลแล้วทรัพยากรทั้งหมดในกลุ่มจะต้องได้รับการยกเว้น
  • .
  • Cryptogrphic สนับสนุน:
  • การเข้ารหัสลับ / cryptodev.c: ส่วนเส้นทางกลับรวมถึงเส้นทางของไฟล์ ที่ระบุไว้โดยเบรนแนนแอชตัน.
  • ไดรเวอร์สามัญ:
  • ทั่วไปสามารถบนครึ่ง: ใน can_txdone บริกรในสัญญาณควรทราบโดยไม่คำนึงถึงค่าตอบแทนของ can_xmit ครั้งแรกก็จะส่งกลับ -EIO หากไม่มีแพ็คเก็ตใหม่และสองข้อมูลของบริกรเป็นเรื่องเกี่ยวกับการถ่ายโอนแพ็คเก็ตที่ผ่านมา จากแดเนียลลาซ Sitzer.
  • ARM:
  • ระบบโทร: แก้ไขคำสะกดผิดในสายระบบเมื่อเรียกพารามิเตอร์จากกอง: Regs [REG_PC] 4 คือที่อยู่ไม่ Regs [REG_PC + 4]
  • .
  • STMicro STM32 ไดรเวอร์:
  • STM32 F401 UART สนับสนุนที่ถูกต้องสำหรับ USART6 บนชิปนี้ จากเฟรดดี้โชแปง.
  • STM32 FLASH แก้ไข: ใช้ size_t แทน uint16_t ให้อินเตอร์เฟซทั่วไปมากขึ้น จากเฟรดดี้โชแปง.
  • STM32 UART. แก้ไขสำหรับ UART7 และ UART8 บนนาฬิกา STM32 เปิดการใช้งานจาก Aton
  • สามารถ: ในตอนท้ายของการจัดการการขัดจังหวะการขัดจังหวะถูกปิดการใช้งานถ้าแพ็กเก็ตทั้งหมดได้รับการโอนตัวจัดการขัดจังหวะเมื่อถูกเรียก นี่คือปัญหาเพราะตัวจัดการขัดจังหวะเรียก can_txdone () ของครึ่งบนที่สามารถ enqueue แพ็คเก็ตใหม่ที่จะส่ง บล็อกเอาออกทั้งหมดเพราะ can_txdone () เรียก can_xmit () ซึ่งปิดการใช้งานการขัดจังหวะถ้าไม่มีแพ็คเก็ตใหม่ที่จะส่ง จากแดเนียลลาซ Sitzer.
  • CAN. แก้ไขเพิ่มเติม STM32 CAN แนะนำโดยแม็กซ์ Holtzberg
  • STMicro ST32 บอร์ด:
  • configs / MIKROE-STM32F4: แก้ไขไม่กี่รวบรวมข้อบกพร่องเล็ก ๆ น้อย ๆ และการแก้ไขไปยังแหล่งการกำหนดค่า MIKROE-STM32F4 จากเพอร์ตี้เคน.
  • ARM9 / ARMv7-:
  • ระบบโทร: แก้ไข ARM7 / 9 และ Cortex-syscalls: สำหรับหัวข้อในโหมด SVC, คำแนะนำ SVC clobbers R14 นี้จะต้องนำมาพิจารณาในการประกอบแบบอินไลน์.
  • การตั้งค่างาน: งานทั้งหมดแม้งานโหมดผู้ใช้จะต้องเริ่มต้นในโหมดผู้บังคับบัญชาจนกว่าพวกเขาจะได้รับในอดีตผ้าใบเริ่มต้นขึ้น
  • .
  • ARMv7-: ปรับเปลี่ยน up_fullcontextrestore () เพื่อ CONFIG_BUILD_KERNEL มันเปลี่ยน CPSR ขณะที่อยู่ในเคอร์เนล ที่จะผิดพลาดถ้า CPSR ใหม่คือโหมดผู้ใช้ในขณะที่การดำเนินการในพื้นที่เคอร์เนล แก้ไขโดยการเพิ่มสายระบบ SYS_context_restore มีทางเลือกคือการปรับเปลี่ยนง่ายที่จะ up_fullcontextrestore () ที่จะได้รับการดำเนินการ: มันอาจจะเป็นไปได้ที่จะใช้ SPSR แทน CPRSR แล้วทำผลตอบแทนจากการยกเว้น up_fullcontextrestore () ที่จะมีประสิทธิภาพมากขึ้น แต่ฉันไม่เคยพยายามมัน.
  • Atmel SAM3 / 4 บอร์ด:
  • SAM3X / Arduino เนื่องจาก: แก้ไขพิมพ์ผิดใน sam3x_periphclks.h; เพิ่มคำนิยาม SCLK เพื่อ board.h ไฟล์ส่วนหัว จาก Fabien Comte.
  • SAM3 RTT: เฉพาะครอบครัว SAM4 มีบิต RTTDIS ในนายทะเบียน SourceForge ข้อผิดพลาด # 33 จาก Fabien Comte.
  • C ห้องสมุด:
  • sscanf (): NuttX libc พยายามที่จะคาดเดาว่าหลายตัวละครที่จะแยกสกัดพวกเขาลงในบัฟเฟอร์แล้ววิ่ง strtol () บนบัฟเฟอร์ที่ ที่เดาก็มักจะผิด วิธีการที่ดีกว่าจะเรียก strtol () โดยตรงในการป้อนข้อมูลโดยใช้ค่าตอบแทน endptr เพื่อกำหนดจำนวนตัวอักษรที่จะข้ามหลังจากแยก จาก Kosma Moczek.
  • คณิตศาสตร์ห้องสมุด. แก้ไข atan2 การใช้งานจากเดนิส Arnst
  • จุดลอยเอาท์พุท: เปลี่ยน lib_dtoa () เพื่อแก้ไขข้อผิดพลาดที่มีความแม่นยำจากเลขท้าย จากบ๊อบ Doiron.
  • การใช้งาน:
  • แก้ไข NSH คำสั่ง PS. ถ้ามีข้อโต้แย้งไม่ก็สามารถพิมพ์ขยะสำหรับรายการอาร์กิวเมนต์
  • การตั้งค่า / สร้างระบบ:
  • Null ตัวอย่าง: ต้องการที่จะรวมการสั่งซื้อมัน config.h ทราบว่านี้เป็นหรือไม่เคอร์เนลสร้าง ปัญหานี้ยังคงมีอยู่ในแฟ้มอื่น ๆ ที่อาจจำเป็นต้องกำหนด main ().

มีอะไรใหม่ ในรุ่น 7.8:

  • คุณสมบัติ: คุณสมบัติใหม่เพิ่มเติมและการขยายการทำงาน:
  • แกน OS:
  • Watchdog Timer จัดสรร: (1) ถ้าเราวิ่งออกมาจากครั้งก่อนจ้องจับผิดจัดสรรตรรกะนี้จะจัดสรรตัวนับเพิ่มเติมจากกอง สำรองของตัวนับสุนัขเฝ้าบ้านก่อนการจัดสรรจะยังคงอยู่เพื่อให้มีจะเป็นตัวนับใช้ได้สำหรับรถยกขัดจังหวะ (2) เพิ่มการสนับสนุนสำหรับการจัดสรรเวลาจ้องจับผิดแบบคงที่
  • การสนับสนุนสภาพแวดล้อมที่อยู่: (2) APIs OS ใหม่แบบบูรณาการในทุกบริบทแพลตฟอร์มเฉพาะการเปลี่ยนตรรกะ (up_block_task () up_unblock_task () _exit () และอื่น ๆ )
  • .
  • Kernel สร้างการสนับสนุน: (1) ตาม MPU & quot; เคอร์เนลสร้าง & quot; เปลี่ยนชื่อเป็นสร้างการป้องกัน (CONFIG_BUILD_PROTECTED); เพิ่มการสนับสนุนสำหรับใหม่ MMU-based & quot; เคอร์เนลสร้าง & quot; (CONFIG_BUILD_KERNEL), (2) ระบบห้องสมุดโทรขณะนี้คุณสามารถสร้างขึ้นด้วย CONFIG_NUTTX_KERNEL เลือกใหม่ *:. CONFIG_LIB_SYSCALL
  • การเริ่มต้นระบบ: เพิ่มตัวเลือกการกำหนดค่าการเริ่มต้นระบบจากโปรแกรมบนระบบไฟล์ (เมื่อเทียบกับที่อยู่ในความทรงจำ)
  • .
  • เริ่มต้นพารามิเตอร์ผ่าน: มีการใช้เป็นสองวิธีในการส่งผ่านพารามิเตอร์กับงานใหม่ขึ้นอยู่กับการกำหนดค่า: ทั้งสอง (1) argv [] เป็นสร้างเป็นอาร์เรย์กับแต่ละสาย strdup'ed หรือ (2) argv [] อาร์เรย์และสตริงที่ถูกสร้างขึ้นในกองก่อนงานเริ่มต้นใหม่ ขณะนี้มีเพียงวิธีหนึ่งวิธี (2) วิธี (1) อาจจะมีขนาดกะทัดรัดมากขึ้นเล็กน้อย แต่ไม่คุ้มค่าความซับซ้อนของการดำเนินการสองวิธีที่แตกต่างกันของการทำสิ่งเดียวกัน.
  • การเริ่มต้นคณะกรรมการ: เพิ่มความสามารถในการดำเนินการของคณะกรรมการการเริ่มต้นครั้งแรกในหัวข้อคนงานแยกต่างหาก นี้เป็นสิ่งจำเป็นเพราะมีหลายกรณีที่การเริ่มต้นตรรกะไม่สามารถดำเนินการเกี่ยวกับการเริ่มต้นขึ้น / ด้ายว่าง นั่นเป็นเพราะการปิดกั้นหรือรอไม่ได้รับอนุญาตในหัวข้อ IDLE.
  • การจัดการหน่วยความจำ:
  • เม็ดจัดสรร (1) เพิ่มฟังก์ชั่นใหม่เพื่อรองรับภูมิภาคยกเลิก allocatable ในกองทราย (2) เพิ่มการเชื่อมต่อเพื่อสนับสนุนการยกเลิกการเตรียมจัดสรรเม็ด.
  • หน้าจัดสรร: จัดสรรเพิ่มหน้าทางกายภาพง่ายขึ้นอยู่กับที่มีอยู่ NuttX จัดสรรเม็ด ผมไม่แน่ใจว่าการจัดสรรเม็ดเป็นกำหนดเพียงพอสำหรับการใช้งานในระยะยาว แต่ได้รับได้รับการจัดสรรหน้าในสถานที่สำหรับการทดสอบอย่างรวดเร็ว.
  • ลบ CONFIG_MM_MULTIHEAP: การดำเนินการไม่ได้รับการสนับสนุน multiheap ไม่
  • .
  • sbrk (). sbrk () ได้รับการสนับสนุนในขณะนี้ในการสร้างเคอร์เนลจะอนุญาตให้มีขนาดแบบไดนามิกกองต่อกระบวนการ
  • กองต่อกระบวนการ: พื้นที่ที่จุดเริ่มต้นของการประมวลผลข้อมูลพื้นที่สงวนไว้ในขณะนี้สำหรับโครงสร้างการบริหารจัดการกองผู้ใช้ ในโหมดเคอร์เนลสร้างเหล่านี้โครงสร้างกองกำลังร่วมกันระหว่างเมล็ดและการใช้รหัสในการสั่งซื้อที่จะจัดสรรข้อมูลเฉพาะของผู้ใช้.
  • ผู้กองบริหาร: เมื่อออกด้ายสิทธิพิเศษที่เราจะต้องใช้เคอร์เนลจัดสรรหน่วยความจำ; เมื่อออกจากกระทู้ด้อยโอกาสที่เราไม่ต้องทำอะไร ... หน่วยความจำกองจะได้รับการทำความสะอาดขึ้นเมื่อสภาพแวดล้อมที่อยู่จะถูกดึงลงมา.
  • ระหว่างกระบวนการสนับสนุนหน่วยความจำที่ใช้ร่วมกัน (1) เพิ่มการดำเนินงานและเอกสารสำหรับ shmget () shmctl () shmat () และ shmdt () (2) เพิ่มระบบสายระบบเพื่อสนับสนุนประตูเรียกให้ผู้ใช้อินเตอร์เฟซหน่วยความจำที่ใช้ร่วมกัน (3) เพิ่มคำจำกัดความของอินเตอร์เฟซแพลตฟอร์มเฉพาะที่จำเป็นในการสนับสนุนคุณสมบัติหน่วยความจำที่ใช้ร่วมกัน.
  • หน้าเสมือนจัดสรร: เพิ่มการสนับสนุนสำหรับเสมือนหน้าต่อกระบวนการจัดสรร นี้เป็นสมาชิกใหม่ของโครงสร้าง task_group_s จัดสรรจะต้องเริ่มต้นเมื่อกระบวนการที่ผู้ใช้ใหม่จะเริ่มต้นและ uninitialize เมื่อกลุ่มกระบวนการจะถูกทำลายในที่สุด มันถูกใช้โดย shmat () และ shmdt () เพื่อเลือกที่อยู่เสมือนที่จะลงบนแผนที่หน่วยความจำกายภาพที่ใช้ร่วมกัน.
  • ระบบไฟล์ / Block ไดรเวอร์ / MTD:
  • FS สมาร์ท: FS สมาร์ทและสมาร์ท FS procfs อัพเดทจากเคนเพอร์ตี้
  • .
  • MTD. MTD อ่านข้างหน้า / เขียนชั้นบัฟเฟอร์ปรากฏมีการทำงานในขณะนี้
  • รูปแบบไบนารี:
  • กระบวนการต่อกอง:. เพิ่มตรรกะในการเริ่มต้นกองผู้ใช้ต่อกระบวนการขั้นตอนเมื่อผู้ใช้แต่ละคนจะเริ่มต้น
  • กราฟิก:
  • NxTerm: เปลี่ยนที่เกิดขึ้นทั้งหมดของ NxConsole เพื่อ NxTerm
  • .
  • เครือข่าย:
  • PHY Interrupts (1) มาตรฐานอินเตอร์เฟซที่แนบมาขัดจังหวะ PHY (2) เพิ่มการสนับสนุนสำหรับ IOCTL ที่สามารถใช้แอพลิเคชันที่จะแจ้งให้เมื่อมีการเปลี่ยนแปลงในสถานะเครือข่ายสัญญาณโดยการขัดจังหวะ PHY.
  • ส่งลอจิกที่ดีขึ้น: ในอดีตที่ผ่านมาแพ็คเก็ตแรกที่ส่งให้เพื่อนเครือข่ายใหม่จะล้มเหลว; จะมีรายการในตาราง ARP สำหรับเพียร์และอื่น ๆ ตามคำขอ ARP สามารถใช้ทดแทนที่แพ็คเก็ตครั้งแรก ตอนนี้เป็นตัวเลือกถ้า CONFIG_NET_ARP_SEND y = ทั้งหมดจะส่งตรรกะ (1) ตรวจสอบว่าเพียร์ที่อยู่ MAC ที่อยู่ในตาราง ARP และถ้าไม่ได้ (2) ส่งคำขอ ARP เป็นระยะ ๆ ที่จะได้รับการทำแผนที่และ (3) รอ ตอบ ARP จากนั้น (4) เมื่อการตอบสนอง ARP จะได้รับแล้วส่งตรรกะที่เกิดขึ้นจริงจะได้รับการริเริ่ม ดังนั้นอาจมีความล่าช้ากับแพ็คเก็ตแรกที่ส่งไปยังเพื่อนใหม่ แต่แพ็คเก็ตไม่ควรจะหายไป
  • จำลองพิธีกร:
  • ไดร์เวอร์ SPI FLASH. เทิดทูนขับ SPI Flash สำหรับเป้าหมายจากเคนซิมเพอร์ตี้
  • อินเทล x86:
  • เริ่มต้นพิธีกร: เจ้าภาพเริ่มต้นคือตอนนี้ x86_64 และตัวเลือกที่ -m32 จะถูกเลือกโดยอัตโนมัติสำหรับการจำลองสร้าง
  • .
  • Intel 8051 ครอบครัว:
  • 8051 ลบ: ลบการสนับสนุนทั้งหมดสำหรับสถาปัตยกรรมครอบครัว 8051 จากแหล่งต้นไม้ NuttX รหัสจำหน่ายแล้วพร้อมกับแพทช์กำจัดขณะนี้สามารถพบได้ที่ misc / จำหน่าย / รหัสนี้ถูกลบออกเนื่องจาก (1) ถึงแม้ว่าการทำงานบางอย่างได้รับการแสดงให้เห็นถึงผมไม่ทราบพอร์ตประสบความสำเร็จจริงๆใด ๆ ของ NuttX ใด ๆ 8051 และ (2) 8051 กับสแต็คของฮาร์ดแวร์บังคับข้อ จำกัด และภาวะแทรกซ้อนที่จะสถาปัตยกรรมอื่น ๆ และทำให้การเจริญเติบโตและการพัฒนาของ NuttX ที่ซับซ้อนมากขึ้น.
  • ZiLOG ZNeo บอร์ด:
  • configs / 16z: การสนับสนุนสำหรับบอร์ดนี้ได้ถูกลบออกจากแหล่งต้นไม้ NuttX (แต่ก็ยังสามารถพบได้ใน misc / directory จำหน่ายแล้ว) พอร์ตนี้ยังไม่พร้อมสำหรับการใช้งาน แต่อาจจะกลับมาต้นไม้ NuttX ที่จุดในอนาคตบาง.
  • Atmel SAM3 / 4 บอร์ด:
  • SAM4E-EK:. เพิ่ม (1) ขับ ILI9341 จอแอลซีดีที่ใช้การทำงานอย่างเต็มที่และ (2) การกำหนดค่า NxWM การทำงานอย่างเต็มที่
  • ARMv7-:
  • สภาพแวดล้อมที่อยู่: เพิ่มการสนับสนุนสำหรับสภาพแวดล้อมที่อยู่โดยใช้แอพลิเคชัน Cortex-MMU อินเตอร์เฟซที่ใช้แพลตฟอร์มเฉพาะมาตรฐานของการสนับสนุนสภาพแวดล้อมที่อยู่ NuttX.
  • การดำเนินงานแคช: ใช้มาตรฐานแพลตฟอร์มเฉพาะการดำเนินงานแคช เหล่านี้เรียกว่าโหลดจากเอลฟ์เพื่อล้าง D-แคชและฉันโมฆะแคชหลังจากโมดูลเอลฟ์ได้รับการโหลดลงในหน่วยความจำ กับการเปลี่ยนแปลงนี้โมดูลเอลฟ์ทำงานอย่างถูกต้องใน SAMA5 / Cortex-แพลตฟอร์ม.
  • สร้างเคอร์เนล (1) เพิ่มการใช้งานของระบบประตูเรียก (2) การเพิ่มไฟล์เริ่มต้นขึ้น CRT0 ที่สามารถเชื่อมโยงกับการสร้างโปรแกรมการแยกผู้ใช้ (3) เพิ่มการสนับสนุนสำหรับการส่งสัญญาณการใช้งานในโหมดสร้างเคอร์เนล (4) เพิ่มตรรกะในการเริ่มต้นกองผู้ใช้ต่อกระบวนการขั้นตอนเมื่อผู้ใช้แต่ละคนจะเริ่มต้น (5) ARMv7-จัดการข้อยกเว้นต้องทำงานแตกต่างกันเล็กน้อยถ้าเราสนับสนุนกระบวนการโหมดผู้ใช้ นี้เป็นเพราะ R13 และ R14 จะแตกต่างกันระหว่างเพจของผู้ใช้และโหมด SVC.
  • หน่วยความจำที่ใช้ร่วมกันสนับสนุน: (1) เพิ่มตรรกะที่จำเป็นในการจัดการกับการแมปของหน่วยความจำที่ใช้ร่วมกันบนสวิทช์บริบท (2) ขยายเสมือน / แปลงที่อยู่ทางกายภาพที่จะรวมอยู่ในหน่วยความจำที่ใช้ร่วมกัน (3) เพิ่มการดำเนินงานของแพลตฟอร์มเฉพาะสนับสนุนหน่วยความจำที่ใช้ร่วมกัน.
  • Atmel SAMA5D ไดรเวอร์:
  • เครือข่าย IOCTLS:. ใช้ ioctls ทุกเครือข่ายรวมถึง IOCTL ใหม่ที่จะตั้งค่าการแจ้งเตือนเหตุการณ์ PHY
  • การแปลงที่อยู่:. ในเคอร์เนลสร้างด้วยสภาพแวดล้อมที่อยู่ต้องตรรกะในการใช้แผนที่ที่อยู่เสมือนที่อยู่ทางกายภาพและในทางกลับกัน
  • Atmel SAMA5D บอร์ด:
  • SAMA5D3 Xplained, SAMA5D3-EK และ SAMA5D4-EK: แปลงอินเตอร์เฟซการขัดจังหวะ PHY เฉพาะคณะกรรมการที่มีอยู่เพื่อใช้อินเตอร์เฟซมาตรฐานที่กำหนดขึ้นใหม่
  • .
  • SAMA5D4-EK: เพิ่มการกำหนดค่าสำหรับการทดสอบเคอร์เนลสร้างการกำหนดค่า มีการกำหนดค่าการบูตทั้งจากการ์ด SD หรือจากและในหน่วยความจำของระบบไฟล์ ROMFS มี.
  • SAMA5D4-EK: เพิ่มเอกสาร / การสนับสนุนสำหรับเรฟอีคณะกรรมการ
  • .
  • STMicro STM32 ไดรเวอร์:
  • อีเธอร์เน็ต: ปรับเปลี่ยนเพื่อรองรับการเปลี่ยนแปลงไปยังเครือข่าย IOCTL เปลี่ยนแปลงลายเซ็น นอกจากนี้ยังเพิ่มการสนับสนุนสำหรับ IOCTL ใหม่ที่จะตั้งค่าการแจ้งเตือนเหตุการณ์ PHY.
  • STMicro STM32 บอร์ด:
  • STM32F4Discovery กับ STM32F4DIS-BB: เพิ่มการเปิดใช้งานการตั้งค่าเครือข่าย NSH สำหรับคณะกรรมการ STM32F4Discovery กับคณะกรรมการฐาน STM32F4DIS-BB ติดตั้ง รวมถึงการสนับสนุนสำหรับช่องเสียบการ์ด microSD บนกระดานฐาน STM32F4DIS-BB.
  • TI Tiva ไดรเวอร์:
  • TI CC3200: เพิ่มการสนับสนุนสำหรับ TI CC3200 จากจิมวิง.
  • TI Tiva บอร์ด:
  • TI CC3200 Launchpad: เพิ่มการสนับสนุนสำหรับ TI CC3200 Launchpad จากจิมวิง.
  • C ห้องสมุด:
  • การสำรวจความคิดเห็น (). การสำรวจความคิดเห็นเรื่องการดำเนินการ () ล่าช้าใช้ sem_timedwait ()
  • การตั้งค่า / สร้างระบบ:
  • ส่งออกเป้าหมาย: ในเคอร์เนลหรือการป้องกันสร้าง (1) เท่านั้นห้องสมุดผู้ใช้ควรจะส่งออก (2) ไม่ได้คัดลอกไฟล์ส่วนหัวภายในหรือสร้างสคริปต์ว่านี้เป็นเคอร์เนลหรือการป้องกันการสร้าง, และ (3) ความต้องการ ที่จะกำแฟ้มเริ่มต้นใช้ C (crt0) ไม่ใช่วัตถุหัวเคอร์เนลสำหรับเคอร์เนลและการป้องกันสร้าง.
  • CFLAGS โปรแกรม: เพ​​ิ่มตรรกะที่จะอนุญาตให้เราสามารถสร้างห้องสมุดผู้ใช้ที่มี CFLAGS แตกต่างจากรหัสเคอร์เนล นี้เป็นสิ่งจำเป็นเพราะเราต้องเลือกที่ -fno ทั่วไปเมื่อมีการสร้างรหัสเอลฟ์เพื่อป้องกันไม่ให้ย้าย SHN_COMMON.
  • การใช้งาน:
  • NSH: ขยาย NSH ตรรกะการเริ่มต้นของเครือข่าย ขณะนี้มีตัวเลือกที่จะสร้างกระทู้ตรวจสอบเครือข่ายที่จะตรวจสอบสถานะของการเชื่อมโยง เมื่อเชื่อมโยงไปลงรหัสจะพยายามที่จะใส่ได้อย่างสง่างามคนขับอีเธอร์เน็ตในรัฐลง; เมื่อการเชื่อมโยงกลับมารหัสจะพยายามที่จะนำเครือข่ายกลับขึ้น.
  • เอลฟ์ตัวอย่าง:. ทดสอบเอลฟ์ / ตัวอย่างเช่นได้รับการขยายเพื่อให้เอลฟ์โปรแกรมการทดสอบของแต่ละบุคคลสามารถเชื่อมโยงกับห้องสมุด syscall (ถ้ามี) หรือกับห้องสมุด C เพื่อขจัดหรือลดความจำเป็นสำหรับตารางสัญลักษณ์
  • NxTerm: เปลี่ยนที่เกิดขึ้นทั้งหมดของ NxConsole เพื่อ NxTerm
  • .
  • MTDRWB ตัวอย่าง:. เพิ่มตัวอย่างเช่นในการทดสอบ MTD R / W บัฟเฟอร์
  • OS ทดสอบตัวอย่าง: เพิ่มการทดสอบที่น่ารำคาญของ sem_timedwait ()
  • .
  • เครื่องมือ









































  • เครื่องมือ




  • เครื่องมือ
























































































  • เครื่องมือ


























  • Bugfixes:






































































































ซอฟต์แวร์ที่คล้ายกัน

MIUI ELEGANCE ROM
MIUI ELEGANCE ROM

14 Apr 15

Looking Glass
Looking Glass

3 Jun 15

SchilliX
SchilliX

20 Feb 15

Jari OS
Jari OS

3 Jun 15

ความคิดเห็นที่ NuttX

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!
ค้นหาตามหมวดหมู่