为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

uC_OS_在LPC2200平台上的移植

2017-11-21 7页 doc 41KB 8阅读

用户头像

is_633423

暂无简介

举报
uC_OS_在LPC2200平台上的移植uC_OS_在LPC2200平台上的移植 编写设备驱动代 码在操作系统移植过程中 有 很 大 一 部 分 ,2, ,引 言0. 工作是编写底层硬件的驱动程序 通 过 操 作 系统来管理硬件设备 用 。 ,作为一个嵌入式实 时 操 作 系 统 最 多 支 持 个 任 务 μC/OS-II ,64 ,8户可以不了解硬件设备的具体特征 上 层 软 件直接使用一系列的函数 , 个 为 系 统 保 留 ,,总是执行处于就绪态的优先级最高的任 务 。 目 前 ,对硬件设备进行操作 系 统 中 没 有完整的硬件设备管理机 。uC/OS -...
uC_OS_在LPC2200平台上的移植
uC_OS_在LPC2200平台上的移植 编写设备驱动代 码在操作系统移植过程中 有 很 大 一 部 分 ,2, ,引 言0. 工作是编写底层硬件的驱动程序 通 过 操 作 系统来管理硬件设备 用 。 ,作为一个嵌入式实 时 操 作 系 统 最 多 支 持 个 任 务 μC/OS-II ,64 ,8户可以不了解硬件设备的具体特征 上 层 软 件直接使用一系列的#数# , 个 为 系 统 保 留 ,,总是执行处于就绪态的优先级最高的任 务 。 目 前 ,对硬件设备进行操作 系 统 中 没 有完整的硬件设备管理机 。uC/OS -II ,平 台 具 有很大的使用范围 因 而 详 细 介 绍 在 LPC2200 。 μC/OS -II 制 硬件设备的驱动程序 需要根据具体目标板的硬 在移植此系统时 。 , 上的移植实现过程 解决移植过程中出现的问 有 很 大 的 LPC2200 ,,现 实 意 义 。 件 设 备 来 编 写 在此移植中主要编写串口的 驱 动 程 序 完 成 与 上 位 机 。 , 的 通 讯 功 能一共分为以下几个函数,: 的 主 要 特 点 1. uC/OS-II Void Init_Uart(INT8Udate); 源 代 码 开 放 占 先 式 多 任 务 移 植 性 好 独 立 的 任 ,1,,2,,,3,,,4,,Void Uart_SendChar(INT8Udate); 务 栈 空 间 可 固 化 可 剪 裁 实时性好稳定性与可靠性高 ,5,,,6,,, Void PC_DispClrRow(INT8Uy, INT8U color); 内 核 结 构 2. μC/OS-II Void PC_DispClrCol(INT8Ux, INT8Ucolor); 多 任 务 系 统 中 ,内核负责管理各个任务 ,或者说为每个任务分配 Void PC_DispClrScr(INT8Ucolor); 时 间 并且负责任务之间的通讯 内核提供的基本服务是任务切 CPU ,。 Void PC_DispChar(INT8Ux, INT8Uy, INT8Uc, INT8Ucolor); 换 可 以 管 理 多 达 个 任 务 由于它的作者占用和保留了 。 μC/OS-II 64 。 Void PC_DispStr(INT8Ux, INT8U y,const char*s, INT8U color); 个 任 务 所以留给用户应用程序最多可有 个 任 务 赋 予 各 个 任 务 8 ,56 。 修改操作系统与硬件有关的代 码 移植 系 统 实 质,3,uC/OS , -II的优先级必须是不相 同 的 不支持时间片轮转调 这 意 味 着 。 μC/OS-II 上是修改与硬件有关的三个文件 它 们 是 , OS_CPU.、HOS_CPU_A. 度 法 ,, 。round-robin scheduli ng假如用户的集成开 发 环 境 中 的 编译器支持汇编 ASM、OS_CPU_C.,CC 的任务调度机制 3. uC/OS-? 语 言 程 序 的 功 能 可 以 在 中 实 现 ,OS_CPU_A.ASM OS_CPU_C.C 。 任务调度机制是嵌入式实时内核的一个重 要 概 念 ,也 是 其 核 心 技包 括 了 用 定义的与处理器相关的常量 宏 和 类 型 定 OS_CPU.H #define ,术 可 以 管 理 多 达 个 任 务 但 目 前 版 本 的 有 两 。 uC/O S-II 64 ,uC/OS-II 义 中包括四个简单的汇编语言函数 。 OS_CPU_A.ASM , 个 任 务 己 经 被 系 统 占 用 了 保 留 了 优 先 级 为 。 0,1,2,3,OS_ OSStartHighRdy() 以 及 LOWEST_RIO-3 ,OS_ LOWEST_RIO-2, OS_ LOWEST_PRIG -1 OSCtxSw() 这 个任务优先机以备将来使用 OS -LOWEST PRIG 8 .OS_LOWEST OSIntCtxSw() 是 作 为 定 义 的 常 数 在 文件中用定义常数语句 PRIO OS _CFG.. H OSTickISR() 定 义 的 因此用户可以有多达 个 应 用 任 务 必 须 给 #define constant 。 56 。 中要求用户编写 个 简 单 的 函 数 OS_CPU_C.C 6 C , 每个任务赋以不同的优 先 级 优 先 级 可 以 从 到 ,0 OS_LOWEST_R1 0 -OSTaskStkInit() 任务的优先级越高 总是运行进入就绪 优 先 级 号 越 低 2。 ,。u C/OS-II OSTaskDelHook() 态的优先级最高的任务 。 OSTaskCreateHook() 在 平 台 上 的 移 植4. uC/OS-?LPC2200 OSTaskSwHook() 移植就是使一个实时内核能在某个微处理 器或微控制器上运行 ,OSTaskStatHook() 在本中具体的就是令 在 上 运 行 大 部 分 的 uC/OS_II LPC2200 。 uC/ OSTimeTickHook() 代 码 是 用 语 言 写 的 但仍需要用汇编语言写一 些 与 处 理 器 相 OS C ,-II但是唯一必要的函数是 个函数必须声明 其 它 OSTaskStkInit(), 5 关 的 代 码 这 是 因 为 在读写处理器寄存器时 只 能 通 过 汇 编 , uC/OS-II 但没必要包含代码 。语 言 来 实 现 这就是移植所要做的工作 ,。 编写应用程序软 件根据实际的需要 用户充分利用库函数 ,4, ,,实 际 上 可以简单地看作是一个多任 务 调 度 器 在 这 个 uC/OS , -II操 作 系 统 提 供的功能和用户自定义的函数等来实现应用程序软件所 任务调度器上完善地添加了与多任务操作系统 相关的一些系统服务 , 要 求 的 功 能 在 本 次 移 植 中 除 了 的 两个内部任务外 。 , uC/OS-?,uC/ 如 信 号 量 邮 箱 等 其 的 代 码 是 用 语 言 写 的 可以直接移植到 、。 90%C ,还建立了四个任务 其 中 任 务 是 在 主 函 数 中 建 OS-?,TaskStart main,,有 语言编译器的处理器上 移植工作主要都集中在多任务切换的实 C 。立 的 它的任务是建立其它三个任务 一个任务用于控 它 们 的 功 能 是 ,。 , 现 上 因为这部分代码用来保存和恢复 现 场 即 写读 相 关 寄 存 , CPU ,/制 闪 烁 这 里 称 之 为 闪 烁 控 制 任 务 灯平时处于等待 LED , LED ,LED 器 不 能 用 语 言 只能使用汇编语言完成 ,,C ,。 状 态 当系统查询到有射频识别标签时 立 即 唤 醒 闪 烁 控 制 任 , , LED 要 使 能够正常移植运行处理器必须满足以下要求 uC/OS-II .:务 另 一 个 是 使 用 串 口 中 间 件 实 现 从 接 收 波 特 率 为。 UART0 ,UART0 编译器能产生可重入代码 语 言 就 可 以 处 理 器 的 用 ,1, C ,2,, C 的 数 据 这里称之为接收数据任务 平时也处于等待 19200bps ,,UART0 打开和关闭中断 处理器支持中断 并 且 能产生定时中断 通 常 在,3,,,( 状 态 当 闪烁时开始接收数据 此数据为射频识别标签 号 第 ,LED ,ID 。 之 间处 理 器 支 持 能够容纳一定量数据 可 能 是 几 千 字 10-100HZ ),4,,(三个任务是以此波特率从 将 数 据 发 送 给 主 机 这 里 称 之 为 数UATR1 , 节的 硬 件 堆 栈 处理器有将堆栈指针和其他 寄 存 器 读 出 和 存),5,,CPU 据 发 送 任 务 将 接 收 到 的 号 在 机的安防系统管理软件系统显示 ,ID PC 储到堆栈或内存中的指令 。出 来 完成与上位机通讯功能 ,。 移植工作主要包括以下几个内容 ,移植代码的测试 5.编写硬件初始化启动代 码硬 件 初 始 化启动代码负责中断的 ,1, 当在处理器上做完 的 移 植 后 紧 接 着 的 工 作 就 是 验 证 uC/OS-II , 处 理 进入中断处理程序 保 存 中 断 前 寄 存 器 的 值 启 动 代 码 ,,CPU 。 移 植 的 是 否 正 常 工 作 而这是移植中最复杂的一步 应 该 首uC/OS-II ,。 包 先 不 加 任何应用代码来测移植的 ,也 就 是 说 ,应 该 首 先 测 试 uC/OS- II括 的 功 能 是 定义程序入口指针 设 置 中 断 向 量 初始化处理器各模式 ,,,内核自身的运行情况 原 因 是首 先 用 户 不 希望将事情复杂化其 次 。 :,;,下的堆栈和寄存器 初始化系统功能模块 呼 叫 语 言 程 序 入 口 ,,C 。 如果有些部分没有正常工作 可以明白是移植本身的 下 转 第 页 ,,490 ,启动代码分成四个文件 ,、 、 和 。 Vector.sInit.starget.c target.h 摘 要 本文设计了一个用于耳机驱动的 功 率 放 大 器 工 作 电 压 仿真器对整体电路进 采用准互补输出级结构 通 过 【】CMOS ,3V。 。 Spectre 行 了 仿 真 分 析 静 态 功 耗 开 环 增 益 仿 真 结 果 明 本芯片达到设计指标要求 ,7Mw,80dB,,。 【关 键 词 】功 率 放 大 器 ,音 频 ,准 互 补 输 出 级 其作用是比较运放输出端和前级 在整个电路中构成电压串联负反馈 ,引 言1. 输 出 端 的 电 压 差 推动输出管工作 这种电压负反馈可以大幅度减小 ,,音频功率放大器是音视频电子 系统中的重要部件 近 些 年 来 随 。 ,[3]输 出 电 阻 输 出 管 和 宽 长 比 很 大。 M24 M25 。 着便携式电子系统的发展 音 频 功放芯片也呈现出强劲的发展态势 , 。 仿 真 分 析大部分单片集成的传统的功放芯片 是用双极工艺制做的 但 其 固 有 的 , 3. 采 用 铝 栅 工 艺 在 工 作 站 上 采 用 公 司 的 大功耗却是与现 代便携式电子设备的低压低功耗格格不入 , 0.5μm , SUN Cadence MOSFET具 有 较 低 的 功 耗 加 之 工艺的低成本与高性能 尤 其 是 随 着 集 仿真器对整个电路进行了仿真分析由 图 可 知 此 运 放 低 频 ,CMOS ,Spectre ,4,5 ,成电路特征尺寸的不断缩小 使 得 功 放 在各种音频设备比 如开环差模增益达到 单 位 增 益 带 宽 电 源 抑 制 比 超 过,MOS IC ( 80dB, 1.53MHZ, 、、、等中具有广阔的应用前景 。 运放在闭环应用时可保持较高的稳定性 。 CDMP3SACDDVD )90dB, 运 放 整 体 结 构 2. 图 为运放的整体电路图 此结构为三级运放 包 括 差 分 对 管 输 1 ,, 入 级 中 间 增 益 级 和 输 出 级 输入级为一个差分输入结构 ,,class-AB 。 , 两 管组成输入对管 两 管 做 输入对管的有源负 M1,M2 P , N M3,M4 载 采用双端输出结构 可以抑制共模信号的作用 中间增益级由两个 ,,。 互补的差分放大电路组成 输 出 部 分 采 用 准 互 补 结 构 两 个 互 补 ,“”。 [1] 晶 体管和两个误差放大器合起来起到源跟随器的作用 。 图 运放幅频及相频特性曲线 3 运放整体结构示意图 图 , 电源抑制比幅频曲线 图 , 结 束 语4. 本 文 设 计 了一款基于铝栅 工 艺 工 作 电 压 可 用 于 音 频 CMOS ,3V, 播放器耳机驱动的功率放大器 由 于采用铝栅工艺 大大减小了成本 ,,, 具有良好的市场前景 。 ? 参 考 文 献 【】 ,,,P.K.Chan,L.Siek. “A Low Offset Class AB CMOS Orpateional Amplifer, -- [J] ” IEEE intenational Symposium onirc uitCs and Systems,M28a-y31 ,2000p455,-458,输 出 级 结 构 图 ,,模 拟 集 成 电 路 设 计陈 贵 灿 等 译西安交通大学出版 2 ,Behzad Razavi.CMOS [M],. 社 ,2003.p.48,9 [2]输出级结构如图 所 示和 为两个误差放大 , ,M12,M13 M20,M21 ,,“” ,E.A.Vittoz and O.Neyroud. A Low -Voltage CMOS BandgRaep fe rence, 器的差分输入级 和 为镜像电流源 作 为 两 个 误 差 [J] IEEE J. Solid-State Circuits, Vol.SC-14, June1979. ,M14,M15 M22,M24 责 任 编 辑 田 瑞 鑫 ,,,放大器的有源负载 正输入端接运放输出端 负输入端接前级输出端 。 ,, 推动了实时操作系统的应用 也使应用系统的功能更加 开 的 源 代 码 上 接 第 页 问 题 而不是应用代码产生的问题 如果已经将基本 ,,,481 ,,。 的任务和节拍中断起来 那么接下来添加应用任 务是非常简单的 可 ,。 完 善 。 ? 以使用各种不同的技术测试自己的移植工作 取 决于用户个人在嵌入 , 参 考 文 献 式系统方面的经验和对处理器的理解 个步骤测试移植代 这 里 通 过 【】。 4 ,,嵌入式实时操作 系 统 邵 贝 贝 等 译北 京 ,北 京 航 ,Jean J.Labrosse. uC/OS?(,).-码: 空航天大学出版社, 确 保 编 译 器 、汇编编译器及链接器正常工作 C ;,,郑 君 民基 于 实时嵌入式操作系统平台的研究 硕 士 学 位 论 文,哈 ,.μCOS-?:[]验 证 和 函 数 OSTaskStkInit()OSStartHighRdy();尔 滨 ,哈尔滨工业大学, 验 证 函 数 OSCtxsw();,, ,Embedded Everywhere As Research Agefor nda Ne tworked Systeofms 验 证 和 函 数 OSIntCtxSw()OSTickISR0 EmbeddedC omputers.National AcademyP ress,2001.67:69,结 语 6. 以其良好的稳定性与可靠性 实 用 的系统服务和完全公 uC/OS-II 、责 任 编 辑 张 新 雷 ,,,
/
本文档为【uC_OS_在LPC2200平台上的移植】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索