基于arm平台的ucosii移植

基于arm平台的ucosii移植

ID:11538781

大小:155.50 KB

页数:27页

时间:2018-07-12

基于arm平台的ucosii移植_第1页
基于arm平台的ucosii移植_第2页
基于arm平台的ucosii移植_第3页
基于arm平台的ucosii移植_第4页
基于arm平台的ucosii移植_第5页
资源描述:

《基于arm平台的ucosii移植》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Brucewoo西南科技大学创新基金项目第27页西南科技大学创新基金项目过程与结果总结报告基于ARM7平台的μC/OS-Ⅱ的移植年级:2007级学号:20076012姓名:吴友强专业:计算机科学与技术二零一零年五月Brucewoo西南科技大学创新基金项目第27页一.准备工作1.μC/OS-Ⅱ简介uC/OS-II读做“microCOS2”,意为“微控制器操作系统版本2”。uC/OS-II是著名的,源代码公开的实时内核,可用于各类8位,16位和32位单片机或DSP。从uC/OS算起,该内核已有十多年应用历史,在诸多领域得到广泛应用。简要

2、说明一下该题目的特点和它的实际意义和社会价值。(约250字并翻译英文)2.μC/OS-Ⅱ的特点(1)提供源代码(2)可固化(3)可裁剪(4)可剥夺(5)多任务(6)可确定性(7)任务栈(8)系统服务(9)中断管理(10)稳定性与可靠性3.编译器的选择ARM处理器核的C编译器有很多,大概有SDT,ADS1.2,IAR,TASKING和GCC等。我最终选择的是ADS1.2编译程序和调试。为什么要选择ADS1.2,要简要说明理由。(约200字)4.ARM7简介ARM7处理器核具有用户,系统,管理,中止,未定义,中断和快中断7中工作模式。其

3、中除了用户模式外其他均为特权模式。同时支持两个指令集:16位Thumb指令集和32位ARM指令集。为什么要选择ARM7,而不选ARM9或ARMX的高版本进行uC/OS-II的移植,简要说明理由。(约200字)5.开发环境的搭建操作系统:WindowsXP集成开发环境:ADS1.2调试环境:AXD(ADS1.2配套的软件)串口调试工具6.项目中所运用到的技术创新(1)实现了加密程序,保护了用户应用程序代码,利用在特定的地址0x1fc处写入特定的值0x87654321实现加密(2)通过工程配置文件加载程序代码,实现了写应用程序的模板工程

4、,不用每次配置工程设置(3)初始化程序和操作系统代码都留有很多扩充的接口,方便不同的用户需要实现不同的启动代码功能和扩充操作系统的功能7.项目的特色(1)在本文档中有完整的源代码,并且有很详细的注释(2)只要具备同样的软硬件环境,根据我的《过程与结果总结报告》完全可以实现这个项目(3)同时完成了引导程序和操作系统的移植Brucewoo西南科技大学创新基金项目第27页(4)涉及到软硬件的知识,不仅仅只是软件二.移植过程1.编写bootloader(ARM启动代码)1.启动代码综述(精确简述移植过程,关键程序不要省略,其它程序可用流程图

5、表达和说明即可。)在一般32位ARM应用系统中,软件大多数采用C语言进行编程,并且以嵌入式操作系统为开发平台,这样大大的提高了开发效率及软件性能。为了能够进行系统初始化,通常会用一个汇编文件作为启动代码。它可以实现向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、外围初始化和地址重映射等操作。ARM公司之设计内核,不生产芯片,只是把内核授权给其他厂商。其他厂商购买了授权后加入自己的外设,生产出各具特色的芯片。这样就促进了基于ARM处理器核的芯片的多元化,但也使得各种芯片的启动代码差别很大,不易编写出统一的启动代码

6、。2.文件的组成汇编文件1.Startup.S:异常向量表、各模式堆栈初始化和跳到main()函数入口等2.IRQ.S:负责管理中断嵌套C文件Target.C:初始化目标板头文件Config.H:系统配置和类型定义Target.H:一些和目标板相关的声明LPC2294.H:LPC2000系列芯片特殊寄存器定义分散加载文件mem_a.Scf:在片内Flash发布,RelInFLASHMem_b.Scf:在片内RAM调试,DebugInRAM,在uCOSII中不使用这种布局模式Mem_c.Scf:在片内Flash调试,DebugInFL

7、ASH3.各源代码文件内容及其注释1.Startup.S:;**--------------FileInfo---------------------------------------------;**Filename:Startup.s;**LastmodifiedDate:2009-08-17;**LastVersion:1.0;**Descriptions:为LPC2100系列芯片的启动代码,从这里开始执行,包括初始化代码,为每一种模;**式的进入口和任务的堆栈;定义堆栈的大小SVC_STACK_LEGTHEQU0FIQ_S

8、TACK_LEGTHEQU0IRQ_STACK_LEGTHEQU256ABT_STACK_LEGTHEQU0UND_STACK_LEGTHEQU0NoIntEQU0x80;Bit7,I位NoFIQEQU0x40;Bit6,F位USR3

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

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

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