毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
基于uCOS-II的多功能数据采集系统的开发+源代码+流程图(5)
移植UC/OSii到系统上必须满足下面的一些条件:
(1) 处理器的C编译器能产生可重入代码。
(2) 用C语言就可以打开和关闭中断
(3) 处理器支持中断还能产生定时中断
(4) 处理器支持容纳一定量的数据的硬件堆栈
(5) 处理器中可以将堆栈指针和其他CPU寄存器读出和储存到堆栈或内存中的指令。
这些在ARM处理器中都可以实现,所以本设计的硬件选择没什么问题。
移植步骤一:基本的配置和定义
所有需要完成的基本配置和定义全部集中在os_cpu.h头文件中。定义与编译器相关的数据类型,定义通过和禁止中断宏,定义栈的增长方向,定义符号OS_STK_GROWTH的值。
定义OS_TASK_SW的宏。
移植步骤二:有四个汇编函数需要移植。
2.5.1 OSStartHighRdy函数
OSStartHighRdy()由多任务系统启动函数OSStart()中调用。主要负责获取新任务的堆栈指针,并从指针中恢复新任务的所有寄存器。就因为他涉及到保存处理器寄存器到堆栈,所以需要进行移植。
2.5.2 OSCtxSw()函数
OSCtxSw()在任务级在任务切换函数调用. .ISR向量地址必须指向OSCtxSw()。这一中断的功能:保存任务环境变量(主要是寄存器的值,通过堆栈),当前的SP在任务TCB, 负载在地方最高优先级的任务就绪SP,恢复优先级最高的任务环境变量,返回。这就完成了任务级调换。
2.5.3 OSIntCtxSw函数
在OSIntExit OSIntCtxSw退出中断服务函数()()调用,实现中断级任务切换。因为它是在中断电话,所以处理器寄存器栈的工作已经完成,没有使用这个工作的一部分。具体任务:调整堆栈指针(因为调用函数可以使任务堆栈结构和系统结构的任务切换堆栈标准不一致),SP,保存当前任务负载在地方最高优先级的任务就绪SP,恢复优先级最高的任务环境变量,返回。这样就完成了中断级任务切换。
2.5.4 OSTickISR()函数
OSTickISR()系统时钟中断服务函数,这是一个时钟中断服务。频率越高的系统负载较重。这个周期确定大小的内核提供了应用程序与最低的时间间隔的服务。一般限于MS级(与
单片机
相关),更困难的任务需要用户建立中断来自己解决。具体内容:这个函数保存寄存器(如果硬件自动可以省略)调用 OSIntEnter(),(),OSTimeTick调用OSIntExit(),恢复寄存器、中断返回。
接下来就是移植C语言的源代码文件OS_CPU_C.C,这个源文件是由6个函数组成的。需要移植的是OSTaskStkInit(),OSTaskCreateHook(),OSTaskDelHook(),
OSTaskSwHook(),OSTaskStTHook(),OSTaskTickHook()。后面5个就是钩子函数,主要是用来扩展UC/OSII的功能。唯一必须要移植的函数式OS_TaskStkInit(),这个函数是任务创建时候调用来初始化任务的堆栈结构的。
3 数据采集系统设计
3.1 主要芯片介绍
主要硬件原理图:
3.1.1 LPC2138
这里本人对LPC2138进行一下简单的介绍。首选是LPC2138的管脚图,如图3.1所示:
图3.1 LPC2138的管脚图
16/32 位ARM7TDMI-S 核,超小LQFP64 封装。
8/16/32kB 的片内静态RAM 和32/64/128/256/512kB 的片内Flash 程序存储器。128 位宽度接口/加速器可实现高达60 MHz 工作频率。
通过片内boot 装载程序实现在系统编程/在应用编程(ISP/IAP)。单个Flash 扇区或整片擦除时间为400ms。256 字节行编程时间为1ms。
EmbeddedICE RT 和嵌入式跟踪接口通过片内RealMonitor 软件对代码进行实时调试和高速跟踪。
1 个(LPC2131/32)或2 个(LPC2134/36/38)8 路10 位的A/D 转换器,共提供16 路模拟输入,每个通道的转换时间低至2.44us。
共13页:
上一页
1
2
3
4
5
6
7
8
9
10
11
12
13
下一页
上一篇:
磁悬浮的PID控制系统设计+MATLAB仿真
下一篇:
51单片机的智能空调温度控制系统的设计+仿真图+源码
基于Kinect手势识别的遥操...
冷库GPRS的无线数据采集系统设计
基于51单片机自动门智能控制系统设计
STC89C52单片机盲人用时钟的设计+电路图+程序
PLC物料自动分拣系统的设计+源程序
单相电压型逆变电路的谐...
粉料称重装置的单片机控...
大规模MIMO系统的发展研究现状
《水浒传》中血腥暴力研...
提高小學语文課堂朗读教...
MNL模型历史城区居民活动...
高效课堂教师问卷调查表
浅析施工企业保理融资成...
遥感土地用变化监测国内外研究现状
小型通用机器人控制系统设计任务书
PCI+PID算法直流力矩电机速...
从企业eHR建设谈管理信息...