pc.c是移植于μCOS-II的PC服务代码(pc.c)
主要改动:
1、#include "includes.h"改为"config.h"
2、在屏幕上显示改为向UART0发送数据,在电脑上显示,影响的函数:
PC_DispChar()、PC_DispClrCol()、PC_DispClrRow()、PC_DispClrScr()和PC_DispStr()
3、获取键值改为从UART0获取,影响的函数:PC_GetKey()
4、因为没有dos环境所作的修改,影响的函数:
PC_DOSReturn()、PC_DOSSaveReturn()、PC_SetTickRate()(删除)、PC_VectGet()(删除)和
PC_VectSet(删除)。
5、因为定时器不同所作的修改,影响的函数:
PC_ElapsedStart()和PC_ElapsedStop()。
6、因为实时时钟不同所作的修改,影响的函数:PC_GetDateTime()。
ucos-2 在 LPC2000 系列上的移植代码
需积分: 0 138 浏览量
更新于2008-10-23
收藏 15KB RAR 举报
《UCOS-II在LPC2000系列微控制器上的移植实践》
UCOS-II,全称uC/OS-II,是一款广泛应用的嵌入式实时操作系统(RTOS),它以其高效、小巧、可移植性强等特点,深受嵌入式开发者的喜爱。本文将详细探讨如何将UCOS-II移植到LPC2000系列微控制器上,以此为开发者提供一个清晰的移植指南。
了解LPC2000系列。这是NXP(原飞利浦)推出的一系列基于ARM7内核的微控制器,以其高性能、低功耗和丰富的外围接口闻名。LPC2000系列广泛应用于工业控制、消费电子和通信设备等领域,是UCOS-II理想的硬件平台。
移植UCOS-II到LPC2000,首先需要搭建基本的软件环境。这包括获取UCOS-II源码,安装相应的IDE(如Keil uVision或IAR Embedded Workbench),以及设置正确的编译器和链接器选项。在这个过程中,你需要对ARM汇编语言和C语言有扎实的理解,因为移植工作往往涉及到与硬件交互的底层代码。
接着,配置UCOS-II以适应LPC2000的硬件特性。这包括但不限于:
1. 定义CPU寄存器:根据LPC2000的硬件手册,配置UCOS-II的中断处理程序和系统定时器。例如,设置NVIC(Nested Vectored Interrupt Controller)以处理中断请求。
2. 初始化内存管理:LPC2000通常具有闪存和SRAM,需要配置UCOS-II的内存分配策略,确保任务堆栈、消息队列和其他数据结构的有效存储。
3. 设置时钟源:LPC2000系列通常有一个内部RC振荡器和外部晶振,选择合适的时钟源并配置适当的分频器以满足UCOS-II的时钟要求。
4. 配置中断服务例程(ISR):编写或修改针对LPC2000中断系统的ISR,确保它们能够正确触发和响应UCOS-II的任务调度。
5. 初始化串口和其它外设:LPC2000系列通常包含多个串口和其他外设,如GPIO、SPI、I2C等,这些外设的初始化也是移植过程中的重要步骤。
在完成以上工作后,需要进行系统调用的实现,如延时函数、时间管理、任务切换等。这些功能通常需要利用LPC2000的硬件特性来优化性能。
进行详尽的测试。编写测试用例,验证任务调度、信号量、互斥锁、事件标志组等功能是否正常工作。同时,还要测试中断处理是否符合预期,以及系统在各种负载下的性能表现。
通过这个过程,开发者不仅学习了如何将UCOS-II移植到特定的微控制器上,还能深入了解嵌入式系统设计的各个环节,提高自身的硬件和软件整合能力。
在提供的压缩包文件"arm"和"Arm_Pc"中,可能包含了用于LPC2000系列的ARM汇编代码和与个人计算机(PC)端工具链相关的文件,例如编译脚本或模拟器设置。这些资源对于实际的移植工作至关重要,应当结合使用以完成整个项目。
UCOS-II在LPC2000系列上的移植是一项涉及硬件理解、软件配置和系统调试的综合任务。通过这个过程,开发者可以深入掌握嵌入式实时操作系统的运行机制,提升系统设计的水平。
普通网友
- 粉丝: 3
- 资源: 1
最新资源
- COMSOL光学模型:魔角光子晶体激光器(能带,模式,参数化几何建模,激光,图中只放了一个例子)
- 锂离子电池热失控仿真,COMSOL热失控仿真,不同温度条件导致的电池热失控分析,方形电池热失控
- C#联合halcon源码 CAD测量比对 CAD图纸 测量 海康相机 通常测量规则的物体,通过找边,找圆,求线线交点,点到线的距离,很容易测量尺寸 这个源码的测量物体是不规则的,很多凸凹的地方都需要
- 基于MATLAB的图像拼接系统带GUI界面,支持彩色图片拼接,保存拼接结果图等
- #车辆动力学 #ABS汽车防抱死制动系统仿真 《汽车防抱死制动系统仿真》 内容包括:Matlab源程序+word讲解文档 汽车防抱死制动系统(ABS)可在汽车制动过程中自动控制和调节车轮制动力,防止制
- 基于cruise的混合动力商用车仿真,P2并联混动仿真模型可实现并联混动汽车动力性经济性仿真 1.模型通过cruise simulink联合仿真,策略通过MATLAB Simulink搭建逻辑门限控制
- 源荷不确定性 考虑源荷随机特征的热电联供微网优化matlab 王锐的《含可再生能源的热电联供型微网经济运行优化》 由风电机组、光伏电池、燃料电池、余热锅炉、燃气锅炉、蓄电池以及热电负荷构成的热电联供型
- C#基于GDI+的点集数据可视化与交互操作, 1)读取点线数据文件 2)绘图展示 3)自动编码(算法) 4)放大缩小全图查看 5)点击点进行绘制线段, 6)分类图层管理 7)绘制完成,保存绘制结果
- Qt+OpenCV通用视觉框架全套源码 Qt+OpenCV通用视觉框架全套源码 工具可扩展 除了opencv和相机sdk的dll,其它所有算法均无封装,可以根据自己需要补充自己的工具 基于 Q
- 电动汽车模型的各模块的Simulink模型,包括驾驶员模块,整车控制器模块,电机模块,变速器模块,主减速器模块,车轮模块,车速模块以及BMS模块 附有说明文档,文档详细的描述了模型的建模过程及功能
- 利用ReliefF算法对分类特征变量做特征重要性排序,实现特征选择 通过重要性排序图,选择重要的特征变量,以期实现数据降维的目的 程序直接替数据就可以用,程序内有注释,方便学习和使用 程序语言为
- AirPower-javascript
- libhv-websocket
- STM32F103C8T6单片机开发的步进电机控制,可实现步数加方向控制包括C#上位机程序,程序源码注释详细,非常实用,适合单片机开发人员和上位机开发人员
- pdfh5-javascript
- wmproxy-websocket