基于ARM7内核的UCO S-II移植研究
摘要嵌入式操作系统的移植是设计开发的重要一环文章从全局和细节上分别研究了UC O S-II移植过程中的技术要点并着重从移植后代码的可靠性、健壮性和通用性等方面进行了研究。
关键词嵌入式操作系统移植 UC O S
由于基于ARM7内核的各种芯片之间有着很大的差异这些差异主要表现在存储系统不同、片内外设不同、中断源不同等。这就造成了嵌入式操作系统移植的不可避免性而嵌入式操作系统移植效果的优劣直接影响着目标系统的整体质量。文中采用LPC2000系列ARM7微控制器以及ADS编译器对UCO S-II的移植过程进行了测试研究。
1 UC/O S-II的移植步骤
UC/OS-II是一个占先式的实时多任务内核由ANSI C语言编写包含小部分汇编代码供不同架构的处理器使用能够管理64个任务主要系统功能包括内存块管理、任务管理、消息队列管理、信号量、互斥信号量、事件标志组、消息邮箱等。从移植UC O S-II的过程来看逻辑上可分作三大组成部分与处理器无关的内核代码、与处理器有关的核心代码、与软硬件环境设置有关的配置代码。其中与处理器无关的内核代码主要包括O S_CORE.C、 O S_FLAG.C、OS_MBOX.C、OS_MEM.C、OS_MUTEX.C、OS_Q.C、OS_SEM.C、OS_TASK.C、O S_TIM E.C、UC O S_II.C、UC O S_II.H它们主要实现任务管理、信号量、 内存管理、 消息队列、系统调度等功能 与处理器有关的核心代码主要包括OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C它们主要与操作系统的移植相关与软硬件环境设置有关的配置代码主要包括OS_CFG.H、 INCLUDES.H它们主要用于剪裁和设置操作系统。 以上文件名为UC O S-II的默认设置无须严格按照上述名称命名文件。
由UC O S-II的逻辑结构可以看出其移植工作主要集中在与处理器有关的核心代码部分。实际测试中遵循了如下步骤。第一对OS_CPU.H进行移植这部分工作主要包括首先定义与处理器有关的数据类型如BOOLEAN、INT8U、 INT8S 等 其次进行与处理器有关的宏定义主要包括OS_ENTER_CRITICAL以及OS_EXIT_CRITICAL再次编写软中断函数主要包括OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()。第二对OS_CPU_A.ASM进行移植依据ADS编译器扩展名规则将文件名改为OS_CPU_A.S主要工作是编写4个汇编语言函数名称为O S StartH ighRdy()、O S CtxS w()、O S IntCtxSw()、O STickISR()。US O S-II启动时调用O S Start()而O S Start()又调用O S StartHighRdy()
DogYun是一家2019年成立的国人主机商,提供VPS和独立服务器租用等,数据中心包括中国香港、美国洛杉矶、日本、韩国、德国、荷兰等,其中VPS包括常规VPS(经典云)和按小时计费VPS(动态云),使用自行开发的面板和管理系统,支持自定义配置,动态云各个硬件独立按小时计费,带宽按照用户使用量计费(不使用不计费)或者购买流量包,线路也可以自行切换。目前商家发布了6.18促销方案,新购动态云7折,经...
vpsdime怎么样?vpsdime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:vpsdime夏日促销活动,美国达拉斯vps,2G内存/2核/20gSSD/1T流量,$20/年,此次推出一款Wi...
搬瓦工今天正式对外开卖荷兰阿姆斯特丹机房走联通AS9929高端线路的VPS,官方标注为“NL - China Unicom Amsterdam(ENUL_9)”,三网都走联通高端网络,即使是在欧洲,国内访问也就是飞快。搬瓦工的依旧是10Gbps带宽,可以在美国cn2 gia、日本软银与荷兰AS9929之间免费切换。官方网站:https://bwh81.net优惠码:BWH3HYATVBJW,节约6...