空心雨毕业论文网提供毕业论文、职称论文、硕士论文、计算机论文等的代写服务,同时还提供各种期刊论文的发表。如果你有需要,请联系我们QQ:5599630;电话:13350726595;E-mail:singlehearted@vip.qq.com
RSS
 
当前位置 :空心雨毕业论文网 >> 工学论文 >> 电子机械 >> 正文

uC/OSII在EP7312上的移植(2)

来源:网络转载 作者:okxy168.com 时间:2008-01-10 浏览:1 字体:【

μC/OS-II需要先禁止中断访问代码的临界区,并且在访问完毕后重新允许中断。μC/OS-II定义了两个宏来禁止和允许中断:OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()。#define OS_ENTER_CRITICAL() IRQFIQDE#define IRQFIQDE __asm{mrs r0, CPSR;stmfd sp!, {r0};orr r0, r0, #NOINT;msr CPSR_c, r0;}#define OS_EXIT_CRITICAL() IRQFIQRE#define IRQFIQRE __asm{ldmfd sp!, {r0};msr CPSR_c, r0;}#endif

(2)编写4个汇编语言函数[OS_CPU_A.S]

μC/OS-II的移植实例要求用户编写4个简单的汇编语言函数:OSStartHighRdy()OSCtxSw()OSIntCtxSw()UCOS_IRQHandler详细内容见本刊网络补充版(http://www.dpj.com.cn)。

(3)用C语言编写6个与操作系统有关的函数[OS_CPU_C.C]这6个函数是:OSTaskStkInit()OSTaskCreatHook()OSTaskDelHook()OSTaskSwHook()OSTaskStatHook()OSTaskTickHook()

这6个函数只对OSTaskStkInit()编写代码,后5个函数必须声明,但是内部并没有代码。OSTaskCreate()和OSTaskCreateExt()通过调用OSTaskStkInit()来初始化任务的堆栈结构。这个函数的移植代码,可参考文献[3]。

3 测试、编写驱动和应用程序

做完以上工作以后,就要测试移植的是否正确。测试一个μC/OS-II实时内核并不复杂,就是让这个实时内核在自己的目标板上跑起来。开始时,可以运行一些简单的任务和时钟节拍中断任务,如果调试成功就可以在上面添加应用程序。

μC/OS-II移植完成以后,就要在这个实时内核之上编写接口驱动程序。由于嵌入式操作系统体积更小,功能更强,且快速、稳定,更具有针对性,因此不像其它操作系统那样,对系统的所有接口设备都需要驱动、管理、调度和监视。由于嵌入式产品是针对特殊的用途而设计的,有很强的专一性,因此,在编写驱动程序时内容更精简,更具有稳定性,编写出的驱动模块更小。编写驱动程序应完成以下基本功能:①对设备初始化和释放;②把数据从内核传送到硬件和从硬件读取数据;③读取应用程序传送给设备文件的数据和回送应用程序请求的数据;④检测和处理设备出现的错误。实现了以上功能以后,一个嵌入式操作系统就基本构成了。

完成了μC/OS-II的移植和驱动程序的编写以后,利用操作系统提供的API函数编写应用程序,调用μC/OS-II中与应用程序相关的系统服务。调试通过后,固化到目标板上,这个嵌入式应用软件就完成了。

阅读更多内容<<上一页 · 1 · 2
1
最新评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
      本站是由一个众多学科的博士群体组建而成,主要创办者为成都各重点高校博士。本论文网内理工科写手均为博士,文科类写手大部分为博士,且领域涵盖广泛,写作势力强大,若有部分专业,没有相关的写手,我们给你寻找合适的写手! 依托强大的人力资源,我们本着诚心交流的宗旨,专门为您排解写作上的难题。从在科研及实践工作中稳扎稳打的经历,我们具备了研究问题,解决问题的能力。论文写作和论文发表,作为教育体系的一个重要环节,我们确实有能力给您解决好问题,正所谓,真金不怕火来炼,请相信我们的势力,没有把握的事,我们不会做!
      本站受多家期刊委托,其中包括国家级中文核心期刊目录正刊,CSSCI目录正刊,增刊,省级以上公开出版的优秀期刊正刊,本站负责论文推荐发表,加急1个月即可发表。本站负责论文发表,不发表承诺退款!!目前主要负责法律,管理,经济,理工,农学,行政,医学,艺术,英语等类论文发表论文代写。详细期刊目录见本站相关内容。
赞助商链接