论文部分内容阅读
随着嵌入式硬件技术的不断进步,嵌入式系统也由单一功能的工控设备开始向集成多种功能的复合型设备发展。目前嵌入式系统中采用操作系统与应用任务统一编译方式不够灵活的缺点日益显现。鉴于此点,必须采用某种机制将嵌入式操作系统与应用任务分别处理。这种机制即是嵌入式平台下的任务加载机制。本文在深入研究PC平台任务加载机制的基础上,研究和阅读了多种可执行文件的格式说明,通过总结设计出嵌入式平台下的可执行应用任务格式,任务加载器,以及内核系统调用。同时,深入研究了任务之间的交互机制,并针对存在任务加载机制下任务的特点,设计了自旋锁、互斥锁、信号量,消息、读写锁等任务交互工具。在研究与设计的基础上,本文最终在多核实时嵌入式操作系统aCoral对任务加载和任务交互工具进行了实现。嵌入式平台的任务加载机制包括可执行任务格式、任务加载器、内核系统调用三个部分。其中可执行任务格式包括函数库的设计与链接方式、可执行任务文件生成两个方面。内核系统调用包括内核中的系统调用响应和系统调用库的设计两个方面。任务交互机制的设计主要是任务交互工具的设计,任务交互工具包括自旋锁、互斥锁、信号量,消息、读写锁的设计。本文先介绍了验证平台aCoral的框架,然后详细介绍了任务加载机制与任务交互机制的设计与实现。最后,对这两种机制进行了功能与性能测试,测试结果表明,任务加载机制可以正常加载外部应用任务至内存中执行,任务交互机制可以确保任务间互斥、同步、通信的正常进行。