uShell项目开发毕业论文

上传人:新** 文档编号:501577183 上传时间:2022-08-31 格式:DOC 页数:44 大小:779.07KB
返回 下载 相关 举报
uShell项目开发毕业论文_第1页
第1页 / 共44页
uShell项目开发毕业论文_第2页
第2页 / 共44页
uShell项目开发毕业论文_第3页
第3页 / 共44页
uShell项目开发毕业论文_第4页
第4页 / 共44页
uShell项目开发毕业论文_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《uShell项目开发毕业论文》由会员分享,可在线阅读,更多相关《uShell项目开发毕业论文(44页珍藏版)》请在金锄头文库上搜索。

1、uShell项目开发目 录1 绪论32 需求分析42.1 环境需求42.1.1硬件环境:42.1.2软件环境:42.1.3功能需求52.2 软件构成62.2.1开发条件62.2.2开发期间62.2.3开发语言62.2.4开发使用的技术、知识72.2.5主要术语介绍72.2.6其他83 概要设计83.1 模块概述83.1.1模块结构图83.1.2模块中单元的详细描述93.2 外部模块接口表103.3 内部单元接口表113.4 状态迁移图193.5 人机界面实现方法203.6 异常处理213.7 执行时间估计213.8 源码目录文件结构234 详细设计254.1 主要数据结构描述254.1.1格式

2、化输出254.1.2函数查找264.1.3关键结构说明264.2 参考资料284.3 单元设计284.3.1函数一览表284.3.2宏定义一览表315 系统测试与分析325.1 测试环境325.2 测试方法325.3 测试用例335.4 测试结果345.5 测试总结356 成果演示366.1 查看系统当前任务366.2 查看系统当前相关系统资源366.3 挂起任务386.4 演示总结387 结论39致 谢40参考文献411 绪论TRON (The Real-time Operating system Nucleus)是由东京大学坂村健博士于1984年提出的实时嵌入式操作系统。规范经过多年发展,

3、TRON已成为日本电子产业现行的基础构架,这一系统已经安装到了全球30 亿到40 亿台家用电子产品当中,远远超过Windows的普及程度。尽管在个人电脑领域知名度几乎为零,但TRON现在却占据了全球微处理器操作系统市场上大约60%的份额,成为低价高性能嵌入式系统的典范。但随着嵌入式系统的高功能、网络化,软件开发和调试都变得非常复杂。TRON相关软件的可移植性、可重用性出现了问题。为了实现更为理想的实时操作系统的嵌入式计算结构,出现了T-Engine项目计划,为了更进一步实现标准化,基于TRON的 T-Kernel由此而来。T-Engine是为了在短时间内高效开发实时嵌入式系统而设计的,由标准化

4、硬件结构和标准开源实时操作系统核心(T-Kernel)组成的嵌入式标准开放平台。在T-Engine开发过程中,搭载的CPU为可变的,而规定了其他硬件结构规范、操作系统核心界面规范、对象数据格式规范等要素,使TRON在标准化的基础结构上,具备充分的外围资源及开发环境。这个开放式标准平台结构的最大目标是将CPU从基础结构中独立出来,使在T-Kernel上开发的中间件可不依存于CPU结构而移植。T-Kernel是运行于标准T-Engine/T-Engine硬件平台上的标准实时操作系统核心软件。与其他开源软件所不同的是,它是单一源代码软件,具有强标准化特点,以保证其作为各种中间件发布的平台。操作系统与

5、外部最主要的接口就叫做shell。shell是操作系统最外面的一层。它不属于内核部分,而是在核心之外。shell管理使用者与操作系统之间的交互:等待使用者输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。在当今嵌入式开发过程中,如何提高开发效率,缩短开发周期至关重要。在T-Kernel在嵌入式领域运用如此广泛,而在设计与研发当中,如果有与T-Kernel相关的开发研究调试运用工具无疑会给开发者带来便捷,提高开发效率,同时对于想要学习和研究的开发者,是否能通过一种便捷实践的方式来学习T-Kernel,而uShell能满足这些要求,uShell是基于T-Kernel操作系统上

6、的一个命令行应用程序,主要功能是通过串口输入命令,根据命令来查询和修改T-Engine开发板上T-Kernel中的任务、邮箱、事件标志、信号量、内存池系统资源状态。这样在开发过程中随时查询修改相关信息,可方便地进行调试,缩短开发周期从而在开发过程中提高开发效率。同时对于学习研究T-Kernel的开发者来说,不是单从理论方面来认知它,需要理论学习的同时加以实践,而uShell能为开发者提供实践途径,从而为开发者提高学习和研究T-Kernel的效率。2 需求分析2.1 环境需求2.1.1 硬件环境:在该项目中,使用的硬件是atmel公司的AT91SAM9261开发板,主板为单板设计,CPU直接集成

7、在主板上。AT91SAM9261是以 ARM926EJ-S ARM Thumb 处理器为核心的完全的片上系统,它扩展了 DSP指令集和 Jazelle Java 加速器。主时钟频率 190MHz ,性能高达 210 MIPS。外部总线接口包括支持同步 DRAM(SDRAM)和支持静态存储器的控制器,并有特殊接口电路以支持 NOR FLASH、NAND Flash。该项目中会把mot文件加载到NOR FLASH,NOR FLASH为16bit 4M字节。在开发uShell过程中,主要功能是通过串口输入命令,根据命令来查询和修改T-Engine开发板上T-Kernel中的任务、邮箱、事件标志、信号

8、量、内存池系统资源状态。为了调试和烧制可执行文件到开发板的flash上我们还需要J-Link。2.1.2 软件环境:AT91SAM9261开发板上加载的是嵌入式实时操作系统TKernel。为了把我们的T-Kernel操作系统和我们开发的程序集成到一个可执行文件上,我们需要专门的SDK,其中集成了T-Kernel操作系统,同时包含了T-Kernel操作系统的内核API的接口,出了这些当然其中还包含有一部分标准C库。除了比较重要的SDK外,我们需要一个集成开发环境,该开发环境要具备两个条件,第一,它能加载我们的SDK,第二,它的编译器要是GCC ARM编译器。这里我们使用的是具有强大插件功能Ecl

9、ipse集成开发环境,当然其中还得安装一些插件。2.1.3 功能需求功能概要1. USH是作为T-Kernel的应用运行的程序,它具有如下功能:2. 根据命令,参考/操作T-Kernel的各种状态。3. 用户程序的加载和卸载。4. 当处于等待输入命令状态时,在超级终端上显示下面的提示符:5. USH%6. 接受用户输入命令并执行。7. 以*开始的行是注释,被视为无效输入。8. 命令中有数值参数和字符串参数。9. 数值参数有如下输入方法:10. H后面连接的是16进制的数字串(09, AF) 或者 0x后面连接的是16进制的数字串(09, AF)11. 后面连接的是10进制的数字串(09)12.

10、 B后面连接的是2进制的数字串(01)13. 无前缀的数字串的进制,为 radix 命令设定的默认进制。 详细功能can_wup_撤消对任务的唤醒请求 chg_pri _更改任务的优先级 clr_flg _清除Event Flag的位模式 del_tsk _删除任务 frsm_tsk _强制解除任务的所有挂起 get_reg _参考任务的寄存器信息 h _帮助命令 lodspg _执行用户扩展模块 prompt _ 提示符设定 radix _基数的设定 ref_alm _参考系统中Alarm handler的状态 ref_cyc _参考系统中Cyclic handler的状态 ref_flg

11、_参考系统中Event Flag的状态 ref_mbf _参考系统中Message Buffer的状态 ref_mbx _参考系统中Mailbox的状态 ref_mpf _参考系统中固定大小内存池的状态 ref_mpl _参考系统中可变大小内存池的状态 ref_mtx _参考系统中Mutex的状态 ref_por _参考系统中Rendezvous Port的状态 ref_sem _参考系统中信号量的状态 ref_tsk _参考系统中任务的状态 rel_wai _解除任务的等待状态 rot_rdq _反转同优先级任务队列的执行时序rsm_tsk _强制解除任务的一次挂起 set_flg _设置E

12、vent Flag的位模式 set_pow _设定系统的省电模式 sig_sem _释放信息量计数值 sta_tsk _启动任务 sus_tsk _挂起任务 ter_tsk _强行终止任务 wup_tsk _唤醒任务 2.2 软件构成2.2.1 开发条件Shell是作为一个T-Kernel下可以动态加载的应用程式运行的。2.2.2 开发期间开发期间:2010/3/15-2010/5/212.2.3 开发语言开发语言:C选择理由:C语言一直是嵌入式系统开发的最佳选择,基于C语言的开发有代码执行效率高,可移植性好,能访问硬件等特性,且T-Kernel提供的接口是C语言接口,因为整个项目我们都要用到

13、T-Kernel的内核接口,所以我们选择用C语言。2.2.4 开发使用的技术、知识除了要熟悉整个开发过程中用到的开发环境Eclipse外,这里我们还得熟悉的掌握T-Kernel操作系统的内核API,及T-Kernel操作系统中的任务(类似于进程)的调度关系,因为在这个项目中我们会创建三个主要的任务,分别负责管理,接受输入,处理输入的命令。当然任务间的通信也是我们这个项目中的一个非常重要的部分,输入的命令是通过T-Kernel中的一种通信机制把用户输入的命令传给别一任务进行解析,并作出相应的处理的。最后我们还要用到一个重要的技术就是嵌入式开发的调试技术,这是在嵌入式开发中不可少也不能少的一个部分

14、。2.2.5 主要术语介绍任务:并行程序执行的基本单元称为“任务”。一个任务的程序是顺序执行的;而多个不同任务的程序却是并行执行的。该并行处理只是概念上的现象。通过内核控制任务间的时间共享来实现并行执行。邮箱:邮箱是一个通过在系统(共享)内存空间传递消息实现同步和通信的对象,它包含一个用来发送消息的消息队列和一个用于等待消息的任务队列。事件标志:当任务要与多个任务同步时,就要用到事件标志。事件标志是一个用来实现同步的对象,由多个位组成,用来指示对应事件存在的标志,除了有用来指示对应事件存在的位模式外,事件标志还有一个等待事件标志的任务队列,当等待队列中的任务发现它等待的那个位被标记了,这时它会被从等待任务队列删除并把它转换为就绪状态。消息缓冲区:消息缓冲区是一个通过传递大小可变的消息来实现同步和通信的对象。每个消息缓冲区有一个等待发送消息的消息队列,和一个等待接收消息的任务队列。在本项目中,输入的命令通过串口传给

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号