μcos-ii在s12单片机上的移植

μcos-ii在s12单片机上的移植

ID:13260293

大小:206.10 KB

页数:9页

时间:2018-07-21

μcos-ii在s12单片机上的移植_第1页
μcos-ii在s12单片机上的移植_第2页
μcos-ii在s12单片机上的移植_第3页
μcos-ii在s12单片机上的移植_第4页
μcos-ii在s12单片机上的移植_第5页
资源描述:

《μcos-ii在s12单片机上的移植》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、http://www.cdtarena.comμC/OS-II在S12单片机上的移植1引言在采用前后台系统软件设计模式的嵌入式系统中,主程序是一个无限循环,单任务顺序执行,通过设置一个或多个中断来处理异步事件。这种系统对于简单的应用是可以的,但对于实时性要求比较高的、处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。μC/OS-II是一个源代码公开、可移植、可裁剪的实时多任务操作系统,具有低成本、稳定可靠、实时性好等优点,是专门针对微处理器和微控制器设计的实时内核,它的内核可以做到很小,很适合在单片机系统上移植。移植了μC/OS-II

2、的嵌入式系统可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。本文选用飞思卡尔(Freescale)公司的16位单片机MC9S12DG128作为硬件平台,针对MC9S12DG128的存储器组织和体系结构,对μC/OS-II源代码作了相应的改写,最终实现了μC/OS-II操作系统在MC9S12DG128上的移植。通过μC/OS-II在MC9S12DG128上的移植,可以掌握移植和测试μC/OS-II的实质内容,同时也很容易将其移植到其它的CPU平台上。2MC9S12DG128的体

3、系结构(存储器的组织)作者认为深刻理解MC9S12DG128微控制器的体系结构和存储器组织是移植成功的一个关键步骤。MC9S12DG128是16位的高性能单片机,它具有极低的电源功耗和可高达25MHz的内部总线频率,片内资源包括1KB的内部寄存器、8KBRAM、128KBFLASH、2KBEEPROM。MC9S12DG128采用普林斯顿总线结构,程序存储器、数据存储器和I/O端口为统一编址方式,总的寻址空间为64KB,但DG128内部有128KBFlash,显然存储空间超过了S12MCU可寻址的64KB空间,因此引入了页面访问机制,S12CPU在内存的$

4、8000~$BFFF这一段开了一个窗口,这里有8个16KB的页面(其中$3E和$3F有固定地址),可以通过页面寄存器(PPAGE)选择其中的一页。对于64KB以外的存储区,应用专用指令CALL调用子程序,然后通过RTC指令返回。http://www.cdtarena.com微控制器内部不同的存储器占用不同的存储空间,也就是说,不同的地址范围,它们均占据特定的地址空间,这些存储器和内部集成模块的地址分配并不是固定不变的,用户自己可以重新分配,但建不要轻易改动默认的映射空间,应直接采用默认地址映射空间。图1是MC9S12DGl28复位后的内存空间分配情况。其

5、中,地址$0000~$03FF为1KB寄存器空间;$0000~$1FFF为8KBRAM(可见7KB);$0000~$07FF为2KBEEPROM(不可见)。http://www.cdtarena.com图1MC9S12DGl28复位后的内存空间分布情况可以通过设置INITRG,INITRM,INIteE寄存器来重新分配各存储器的位置。这些寄存器只能写一次,建议在初始化时分配存储器的位置。如果映射出现地址重叠时,S12CPU内部的优先级控制逻辑会自动屏蔽级别较低的资源,保留级别最高的资源。寄存器具有最高优先级,与其重叠的RAM和EEPROM此时无效。存储器

6、的优先级如下表所列。3μC/OS-II在MC9S12DG128上的移植μC/OS-II运行时要占用一部分ROM和RAM空间,但μC/OS-II操作系统内核目标代码最小可以裁剪到小于2KB,MC9S12DG128有8KB的RAM存储器和128KB的Flash存储器,所以μC/OS-II操作系统完全可以移植并运行在MC9S12DG128上。μC/OS-II的95%代码是由ANSIC写成的,具有很好的移植性。要实现μC/OS-II向S12的移植,主要是做两方面的工作,一是重新定义内核的大小和功能;二是为内核编写与硬件相关的代码。μC/OS-II的文件结构如图2

7、所示。http://www.cdtarena.com图2μC/OS-II的文件结构可以看到,μC/OS-II与CPU类型无关的C代码文件包括很多文件,它们是μC/OS-II的内核和很多功能函数,其中OS_CORE.C、OS_TIME.C和OS_TASK.C这三个文件是一定要用的,其他几个文件用于任务间通信,应用程序中可能只用到其中的几个,不用的可以不包含进去,以避免编译时生成没有代码。这部分代码与CPU类型无关,在移植时,这些文件一个也不要动。与CPU类型有关的代码文件主要有:OS_CFG.H、OS_CPU.H、OS_CPU_A.ASM和OS_CPUC.

8、C。OS_CFG.H是配置文件,需要根据应用配置,主要作用是确定用户应用程序使用

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

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

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