Altera公司推出的Nios软核CPU是一种可配置的通用精简指令集计算RISC(ReducedInstructionSetComputing)嵌入式处理器
它可以与各种外设相结合,构成一个定制的可编程片上系统SOPC(SystemonProgramableChip)
嵌入式实时操作系统uC/OS-II是一个非常优秀的实时操作系统RTOS(RealTimeOperatingSystem),其性能已得到广泛认可
uC/OS-II的特点有:公开的源代码可移植、可裁剪、可固化、抢占式内核
TCP/IP是Interenet的基本协议
嵌入式设备要与Internet网络交换信息,就必须支持TCP/IP协议
尽管uC/OS-II是一个开放源码的RTOS,但是目前它的第三方TCP/IP支持都是商业化的,很少给出源代码
用户需要付费才能获得
通过在Nios上移植uC/OS-II和开放源码的TCP/IP协议栈-LwIP轻量级网络协议(Light-weightInternetProtocol),就可以实现uC/OS-II的网络功能,并建立一套嵌入式网络开发平台
该系统模型示于图1
uC/OS-II在Nios上的移植uC/OS-II可以看作是一个多任务的调度器,在这个任务调度器上添加了和多任务操作系统相关的一些系统服务,如信号量、邮箱、消息队列等
uC/OS-II的设计分为与处理器类型无关的代码、与处理器类型相关的代码和与应用程序有关的配置代码三部分
这也是uC/OS-II具有良好的可移植性的原因
移植工作主要集中在多任务切换的实现上
这部分代码主要是用来保存和恢复处理器现场(即相关寄存器),因此不能用c语言,只能使用特定处理器的汇编语言完成
在Nios上移植uC/OS-II非常简单,只需修改三个和Nios体系结构相关的文件即可
下面分别介绍这三个文件的移植工作
1OS_CPU
H文件数据类