首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

LPC2292的μC/OS-II硬件抽象层构建 03

LPC2292的μC/OS-II硬件抽象层构建 03

3  在LPC2292上构建硬件抽象层
       3.1  LPC2292简介
  LPC2292/LPC2294 微控制器是基于一个支持实时仿真和嵌入式跟踪的16/32 位arm7TDMIS CPU,带有256 KB 嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最高时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb 模式将代码规模减小30%以上,而性能的损失却很小。
  由于LPC2292/LPC2294 的144 脚封装、极低的功耗、多个32 位定时器、8 通道10 位ADC、2/4 (LPC2292/LPC2294)高级CAN、PWM 通道以及多达9 个外部中断引脚,使它们特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。LPC2292/LPC2294 含有76(使用了外部存储器)到112 个(单片)可用GPIO 口。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器以及许多其他的应用中。
  3.2  类型定义
  在将μC/OS-II移植到LPC2292处理器上时,首先进行基本配置和数据类型定义。重新定义数据类型是为了增加代码的可移植性,因为不同的编译器所提供的同一数据类型的数据长度并不相同,例如int型,在有的编译器中是16 位,而在另外一些编译器中则是32 位。所以,为了便于移植,需要重新定义数据类型。μC/OS-II类型定义如下:
  typedef unsigned char BOOLEAN;/*布尔变量*/
  typedef unsigned char INT8U;/*无符号8位整型变量*/
  typedef signed char INT8S;/*有符号8位整型变量*/
  typedef unsigned short INT16U;/*无符号16位整型变量*/
  typedef signed short INT16S;/*有符号16位整型变量*/
  typedef unsigned int INT32U;/*无符号32位整型变量*/
  typedef signed intINT32S;/*有符号32位整型变量*/
  typedef floatFP32;/*单精度浮点数(32位长度)*/
  typedef doubleFP64;/*双精度浮点数(64位长度)*/
  typedef INT32UOS_STK;/*堆栈是32位宽度*/
  3.3  任务堆栈初始化
  在μC/OS-II中,函数OSTaskStkInit()对任务堆栈进行初始化,在LPC2292中,
返回列表