DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1254|回复: 0
打印 上一主题 下一主题

[待整理] μC/OS-II在SOPC中的硬件实现

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 16:48:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本人在教学及科研实验中,对基于μC/OS-II的多任务系统在SOPC中的设计总结出了具体实现方法。经过实践验证,该方法简单、可靠,值得推广。

1 μC/OS实时操作系统

μC/OS-II是一个可移植、可裁剪、占先式、实时的多任务内核,主要有任务管理、时间管理、信号量管理、消息邮箱管理、列队管理、内存管理等。由于绝大部分代码都是用C语言编写的,只有极少部分与处理器密切相关的代码是用汇编语言编写的,用户只要做很少的工作就可以把它移植到各类8位、16位、32位处理器上。另外,μC/OS-II的构思巧妙,结构简单、精炼,可读性强,有足够的稳定性和安全性,具备了实时操作系统的全部功能,在嵌入式系统领域有着广泛的应用。

2 硬件设计

基于μC/OS-II的多任务系统在SOPC系统中的硬件实现与普通SOPC硬件设计相同,使用Quartus II创建设计工程,工程创建完成之后,创建顶层实体。创建完顶层设计文件后,使用SOPC Builder创建Nios II嵌入式处理器,添加、配置系统的外设IP,组成Nios II系统模块。Nios II系统模块设计完成之后要加入到该顶层实体中,然后进行其他片上逻辑的开发。系统整体开发流程如图1所示。


3 软件开发
利用Nios II IDE开发环境,使用C/C++语言编程设计。根据多任务系统的实际情况确定任务栈大小,并定义个任务栈;依照任务轻重缓急设定优先级,创建和编写各具体任务,最后调用OSSTat()启动MicroC/OS-II。具体开发流程如图2所示。


4 具体实现方法

本文涉及内容已在Nios development Board CycloneII(EP2C35)中实现。通过在Quartus II中使用SOPCBuilder建立一个Nios II最小系统,然后在Nios II IDE编写基于μC/OS-II实时操作系统的应用程序,同时运行3个任务,分别是LED跑马灯、步进电机运行控制、LCD16207显示字符。具体电路如图3所示。


结 语
该方案已经在具体项目中实现。如果组成多任务的单任务能够可靠运行,只要把Nios II IDE环境下的System Library设置成MicroC/OS-II,在源程序里加入μC/OS-II多任务的相关函数及必要的参数,把各个单任务程序整合到程序中,就可以在极短时间完成多任务的设计。若想开发成多任务专用集成电路(ASIC),可以保持上述开发过程不变,使用Stratix FPGA系列芯片,在需要时,通过Altera的HardCopy设计中心将由FPGA构成的系统无缝移植为低成本、功能等价、引脚兼容的HardCopyII结构化的ASIC,是一个值得推广的成熟、高效的设计方案。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-23 21:57 , 耗时 0.090331 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表