3.6 本章小结 30
4 µC/OS-II在PIC32MX340F128H上的移植 31
4.1 OS_CPU.H的修改 32
4.2 OS_CPU_C.C的修改 33
4.3 OS_CPU_A.ASM的修改 34
4.4 移植测试 36
4.5 本章小结 37
5 系统软件的设计与实现 38
5.1 软件设计流程 38
5.2 各个任务功能实现方法 41
结论 55
致谢 56
参考文献 57
附录A 系统电路原理图 58
附录B 系统PCB板图 59
附录C 阳历日期到阴历日期的转换 60
1 绪论
1.1 研究背景与意义
随着计算机技术的发展,除桌面计算机之外,在工业生产和人们日常生活中也有很多设备和装置中都内置了计算机系统,这样的计算机系统称为嵌入式系统,嵌入式系统使得这些设备和装置具有了很高的自动化性能和某种程度的智能型,从而极大地满足了人们生产和生活的需要,现在,随着相关技术的进一步发展,嵌入式系统硬件的规模越来越大,功能越来越强,从而给运行嵌入式操作系统提供了硬件上的支持,所谓嵌入式操作系统,是指运行在嵌入式硬件平台上,对整个系统及其所操作的部件、装置等资源进行统一协调、指挥和控制的软件系统[1]。常见的嵌入式操作系统有µCLunix、Windows CE、VxWorks以及µC/OS-II等。
其中的µC/OS-II是一个结构简洁、构思巧妙,可读性很强的嵌入式操作系统。它最多可以支持64个任务,足以满足合个领域的应用需要,使用µC/OS-II可以有效地实现系统多任务的管理,包括创建和删除任务,改变任务的优先级,挂起和恢复任务等。
本课题通过µC/OS-II来管理所设计的系统,从而不必担心该系统中各个任务能否正常工作,协调各个任务的工作由操作系统来完成。我们要关心只是各个任务功能的实现,从而降低了系统设计难度,提高了编程的效率,整个系统也更容易维护。
此外,本课题设计的万年历系统具有很大的实际应用价值,首先是人们在日常生活中需要把握时间的地方都会用到万年历;其次,温度显示的功能可以在仓库、车间等需要对温度进行严格控制的场合得以应用;最后,在长途货物运载、电梯性能测试等方面需要记录系统中的加速度、速度的准确数据,而实时时间又可以提供记录这些数据的时间,这些实时数据可以让人们更好地分析系统性能。
1.2研究现状
1.3 本课题所做的工作
本课题完成了一个基于µC/OS-II的多任务系统的构建,实现了一个包含多个任务的万年历系统,主要完成了以下几点工作。
1.3.1 硬件系统的设计和创建
首先,根据预先的设计目标,笔者通过Cadence软件设计了一个适用于编写多任务万年历系统的硬件平台,并且成功地做出了实物。该硬件系统以PIC32MX340F128H为核心,并结合了数据显示、按键输入、温度测量、加速度测量等各项功能器件。经过测试,发现硬件电路能够实现预期的功能且性能十分稳定,这为后续操作系统的移植和应用程序的编写打下了基础。