基于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()
racknerd当前对美国犹他州数据中心的大硬盘服务器(存储服务器)进行低价促销,价格跌破眼镜啊。提供AMD和Intel两个选择,默认32G内存,120G SSD系统盘,12个16T HDD做数据盘,接入1Gbps带宽,每个月默认给100T流量,5个IPv4... 官方网站:https://www.racknerd.com 加密数字货币、信用卡、PayPal、支付宝、银联(卡),可以付款! ...
LOCVPS怎么样?LOCVPS是一家成立于2011年的稳定老牌国人商家,目前提供中国香港、韩国、美国、日本、新加坡、德国、荷兰等区域VPS服务器,所有机房Ping延迟低,国内速度优秀,非常适合建站和远程办公,所有机房Ping延迟低,国内速度优秀,非常适合做站。XEN架构产品的特点是小带宽无限流量、不超售!KVM架构是目前比较流行的虚拟化技术,大带宽,生态发展比较全面!所有大家可以根据自己业务需求...
Dynadot 是一家非常靠谱的域名注册商家,老唐也从来不会掩饰对其的喜爱,目前我个人大部分域名都在 Dynadot,还有一小部分在 NameCheap 和腾讯云。本文分享一下 Dynadot 最新域名优惠码,包括 .COM,.NET 等主流后缀的优惠码,以及一些新顶级后缀的优惠。对于域名优惠,NameCheap 的新后缀促销比较多,而 Dynadot 则是对于主流后缀的促销比较多,所以可以各取所...