毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

嵌入式LED显示屏控制系统应用研究 第11页

更新时间:2009-10-16:  来源:毕业论文
嵌入式LED显示屏控制系统应用研究 第11页
37
图5.1任务堆栈的结构
一致uC/OS-II时我们使用图5.1所示的任务堆栈结构。这里不必保护SPSR寄存器,因为移植
后的uC/OS-II运行在系统模式下,没有SPSR。堆栈初始化、任务切换时保存和恢复寄存器都必须
严格按照图1的堆栈结构操作。由于ARM汇编没有直接将当前状态寄存器CPSR压栈的指令(类
似51汇编中PUSH PSW指令),所以必须先将R0压栈保护,再用R0当中间寄存器保存CPSR,这
样在保存任务堆栈时CPSR寄存器只能最后一个压栈,这也就是为什么CPSR不放在堆栈中高地址
的原因。
4.任务切换时寄存器的保护和恢复问题
不管是中断级任务切换还是任务级任务切换,发生切换需求时处理器都将脱离原先的系统
模式,进入IRQ异常模式或SVC异常模式。由于这两种异常模式使用自己独立的SP(R13)、
LR(R14)物理寄存器,进入异常时当前SP指针已经不是刚才指向任务堆栈的SP指针,当前
LR也不是刚才系统模式下的LR寄存器,所以我们必须想个办法保存刚才系统模式下的
R0-R12、LR、CPSR和指向下条指令地址的PC,使用的堆栈必须是系统模式下SP指向的任务
堆栈,同时还要保证异常模式下的堆栈恢复原样不发生内存泄漏。操作上为保证压栈的是中断
刚发生时系统模式下寄存器的值,程序采用先用异常模式堆栈过渡,再切换模式,分批保存的
策略。
图5.2两种模式下的可见寄存器
图5.2为系统模式和IRQ模式下的寄存器表。因为OSStartHighRdy()、OSCtxSw()、
OSIntCtxSw()、OSTickISR()四个汇编程序中保存和恢复寄存器的程序部分有高度相似性,东南大学硕士学位论文
38
所以下面就以OSTickISR()程序开始和结尾部分的代码为例,说明具体操作过程:
OSTickISR
stmfd sp!,{r0-r3};将r0-r3压入irq堆栈
mov r1,lr;r1=r14_irq
mrs r0,cpsr;切换到sys模式
orr r0,r0,#0x1f
msr cpsr_c,r0
sub r1,r1,#4;r1微调
str r1,[sp,#-4]!;返回地址压入任务栈
stmfd sp!,{r2-r12,lr};压r2-r12和lr
mrs r0,cpsr;切换到irq模式
bic r0,r0,#0x1f
orr r0,r0,#0x12
msr cpsr_c,r0
ldmfd sp!,{r0-r3};r0-r3弹出irq栈
mrs r3,spsr;r3=spsr_irq=中断发生前的cpsr
mrs r2,cpsr;切换到sys模式
orr r2,r2,#0x1f
msr cpsr_c,r2
stmfd sp!,{r0,r1};将上次未压的r0-r1压栈
str r3,[sp,#-4]!;最后保存cpsr
……
……;其余代码
……
ldmfd sp!,{r0};从任务堆栈中恢复所有寄存器
msr cpsr_cxsf,r0
ldmfd sp!,{r0-r12,lr,pc}
5.2 uC/TCP-IP介绍
uC/TCP-IP是一个精简的、可靠的高性能TCP/IP协议栈。使用uC/TCP-IP可以快速配置网络选
项,以最快时间推出产品。
uC/TCP-IP具有如下特性:
高可读性的源代码。uC/TCP-IP提供高质量的源代码,保持Berkeley4.4套接字接口,使用
ANSI C书写。
可移植性。uC/TCP-IP可以基于16位、32位甚至某些64位CPU。
高性能。uC/TCP-IP专为嵌入式系统需求设计,拥有最短的临界段和可选的运行时有效性
检查。采用0拷贝缓存管理提供最佳性能。第五章基于uC/OS-II的软件设计
39
可裁减、可固化。uC/TCP-IP允许用户调整内存分配,可以配置包括所需要的网络模块。
不使用的模块不被编译,以节省嵌入式系统的存储器需求。
网络。uC/TCP-IP当前支持以太网控制器,能很容易地移植到任何网络控制器上。
RTOS需求。uC/TCP-IP需要RTOS支持,或者任务调度核心和信号量支持。uC/TCP-IP包
括uC/OS-II的所有源代码接口,但是很方便移植到其他的RTOS上去。
图5.3 uC/TCP-IP家族层次图
图5.3为uC/TCP-IP协议家族的层次图。从下往上依次是硬件、操作系统、协议栈、应用。对
应于TCP/IP模型的网络接口层、互联网层、传输层和应用层。TCP/IP的模型如图5.4所示。
图5.4 TCP/IP模型
其中网络接口层详细指定如何通过网络实际发送数据,包括直接与网络媒体(如同轴电缆、光
纤或双绞铜线)接触的硬件设备如何将比特流转换成电信号。
互联网层详细指定如何通过网络实际发送数据,包括直接与网络媒体(如同轴电缆、光纤或双
绞铜线)接触的硬件设备如何将比特流转换成电信号。
传输层提供主机之间的通讯会话管理。定义了传输数据时的服务级别和连接状态。
应用层定义了TCP/IP应用协议以及主机程序与要使用网络的传输层服务之间的接口。
图5.5列出了uC/TCP-IP支持的基本网络协议,都是最常用的、最基本的、不可缺省的传输层
协议。东南大学硕士学位论文
协议描述
NIC/IF网络接口(以太网)
ARP网络地址到物理地址映射
IP网际协议
ICMP差错与控制报文
UDP用户数据报协议
TCP传输控制协议
Sockets BSD套接字API
图5.5 uC/TCP-IP支持的基本网络协议
协议描述
uC/DHCPc动态主机配置协议(客)
uC/DNSc动态域名解析(客)
uC/TFTP简单文件传输协议(客/服)
uC/FTP文件传输协议(客/服)
uC/HTTPs超文本传输协议(服)
uC/TELNETs远程登录协议(服)
uC/SNTPc简单网络时间协议(客)
图5.6 uC/TCP-IP可选协议
图5.6为uC/TCP-IP可选协议,主要是应用层协议。实际使用时可根据需要裁减甚至全部去除。
协议最大(KB)最小(KB)
NIC 2.25 2.1
IP/ARP/ICMP 42 18
UDP 3.6 2.1
TCP 15 10
BSD Sockets 18 10
总计81 42.2
图5.7 uC/TCP-IP内存占用图
可裁减性是uC/OS-II和uC/TCP-IP一大特性,通过裁减可以节省部分存储空间,去除不必要的
功能。uC/TCP-IP内存占用如图5.7所示。

 << 上一页  [11] [12] 下一页

嵌入式LED显示屏控制系统应用研究 第11页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。