基于stm32的μcos―ⅲ系统移植的设计

基于stm32的μcos―ⅲ系统移植的设计

ID:22046175

大小:51.50 KB

页数:7页

时间:2018-10-26

基于stm32的μcos―ⅲ系统移植的设计_第1页
基于stm32的μcos―ⅲ系统移植的设计_第2页
基于stm32的μcos―ⅲ系统移植的设计_第3页
基于stm32的μcos―ⅲ系统移植的设计_第4页
基于stm32的μcos―ⅲ系统移植的设计_第5页
资源描述:

《基于stm32的μcos―ⅲ系统移植的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于STM32的UCOS—III系统移植的设计摘要:随着嵌入式系统产品渐渐完善,并在全世界各行业得到广泛应用,通过移植嵌入式操作系统,计算机可以更好地管理内存,并且在很大程度上提高系统的实时性。文章主要介绍了UCOS-III操作系统在基于ARMContex-M3为内核的STM32处理器的移植要点,并且实现了源码公开的嵌入式实时操作系统UCOS-III在STM32处理器上的成功移植。关键词:UCOS-III;STM32处理器;移植引言随着人类社会经济的不断发展,科研领域不断的拓宽,嵌入式系统产品渐渐

2、完善,并在全世界各行业得到广泛应用。通过移植嵌入式操作系统,计算机可以更好的管理内存,并且在很大程度上实现了系统的实时性。UCOS-III作为一个微型实时操作系统,包括了一个操作系统最基本的特性,使用汇编语言和c语言编写的PCOS-III的构思巧妙,结构简洁精炼,可读性很强,作为一个源码开放的嵌入式操作系统,用户只要做很少的工作就可以把它进行移植和维护。1实时操作系统PCOS-III和STM32处理器l.i实时操作系统ucos-IIIuCOS-III的前身是由美国嵌入式系统专家JeanJ丄abro

3、sse于1992年推出的嵌入式操作系统uCOS,经过了不断的完善和扩充,形成现在的PCOS-III。PCOS-III是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性。所谓的移植,在一个平台环境能够成功运行的程序,将它搬运到另一个平台环境,并且使其成功运行。发展至今的UCOS-III,特别适合于微处理器和控制器,并且已经移植到近40多种处理器体系上,涵盖了从8位到64位的各种CPU。UCOS-III源码可分为:与应用程序相关的文件、与计算机硬件相关的文件和系统内核的各种

4、服务文件。用户在移植时,需要对与计算机硬件相关的文件进行修改:如OS_CPU.H文件,OS_CPU_A.ASM文件和◦S_CPU_C.C文件。而系统内核的各种文件,如:◦SJZORE.C、OS_FLAG.C、OS_MBOX.C、OS_MUTEX.C等,与应用程序相关的文件:INCLUDES.H和OSJZFG.H则不需要修改。1.2STM32处理器STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。我们所采用的STM32F103型,其内核为ARM32位

5、Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHZ。ECOPACK封装,最多高达112个的快速I/O端口,最多多达11个定时器,最多多达13个通信接口,具有3种模式:休眠,停止,待机模式的低功耗,可以使其广泛的应用于工业控制、医疗系统、访问控制等。ST公司针对STM32提供了STM32库作为函数接口,使得开发人员得以脱离最底层的寄存器操作,有幵发快速、易于阅读、维护成本低等优点。2UCOS-III的移植2.1修改OS_CPU.H文件UCOS-III的内核使用一个周期时钟中

6、断,以计算任务延时时间和进行任务调度,在STM32中,这样的时钟中断正适合由SysTick来提供。因为OSCPUSysTickHandler()函数与STM32库所提供的stm32F10x_it.c文件中的SycTick_Handler()函数功育泛一样,都是使用SysTick的中断处理,所以我们采用SycTick—Handler()函数。因此,相应的对于OS_CPU.H文件的操作是:注释掉OS_CPU_SysTickHandler()和OS_SysTicklnit()画数的声明。2.2修改OS_

7、CPU_C.COS_CPU_SysTickHandler()和OS_CPU_SysTicklnit()函数的定义在OS_CPU_C.C文件中,由于我们采用了STM32官方库提供的函数来对SysTick进行中断处理,所以我们要把OSJZPLLC.C的OS一CPU一SysTickHandler()和OSJZPU一SysTicklnit()这两个函数注释掉。2.2修改OSJZPLLA.ASM文件我们下载的UCOS-III移植工程是在官方的IAR编译环境下建立的,IAR在汇编的语法方面和我们使用的MDK编

8、译器有一点区别,所有我们对汇编文件的部分指令做如下修改:在OSCPUA.ASM文件中,将原来的PUBLIC指令改为EXPORT,它们是等价的。(见表1)2.4修改CPLLA.ASM文件在CPU_A.ASM汇编文件中,仍有因编译环境的不同而引起的错误,修改的方法同修改OS_CPU_A.ASM文件一样,将原来的PUBLIC指令改为EXPORT。除此之外,在CPU_A.ASM文件中某些标号带有冒号,如“CPUJZntLeadZeros:”、“CPU_RevBits:”、“CPUJA/ai

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。