移植uCOS-II到C51 - 1

原创 2007年10月12日 23:17:00

昨天,终于把 C51的电路板焊好了。虽然很简单没啥新意,但是看着这块自制的"Hello, World!",我还是很高兴。毕竟,从原理图到PCB布局、布线,还有那些让我头疼的元件封装,都是我亲历过的,并且发现焊东西是一件很有意思的事情。当然这其中同事们也给我很多帮助,谢谢他们了。更让我欣慰的是,几个基本的测试都没发现什么问题,LED/数码管/串口/按键一切工作正常,真是谢天谢地: )

接下来的工作便是移植uCOS-II到这块板子上了,这也是我做这块板子的初衷之一。硬件配置如下:

Atmel89S52 / 8KB SDRAM / 串口 / 4位8段共阳数码管 / 8LED / 4按键输入 / 5v USB供电 / ISP_JTAG / 蜂鸣器(被焊坏了: < )

 

 中午google了一些移植相关文章,主要的参考就是杨屹的那篇移植心得,ms流传甚广。大概两三个月前开始计划这样一个C51+uCOS-II的系统,最初的工作是了解uCOS-II,然后开始学习Protel99,开始硬件的部分。其间一场病让我在医院躺了两个星期,到现在关于uCOS-ii的东西我已忘得差不多了。看过那篇心得以后,我计划下午就杨屹移植好的代码拿到板子上试一下,看看能不能跑起来,结果失败了。然后我又把原来写好的测试程序(一个数码管显示,一个按键查询)修改一下,写成两个任务再测试,依然不行。

整个下午这项工作都没什么进展,这让我有点灰心。晚上看了《Oceans 13》,心情又好了些。我想我可不能就这么算了,应该没什么难的。现在整理一下目前的情况,看看自己知道什么,疑问的有哪些,下一步该怎么做。

uCOS-II是一个小型的RTOS,最关键的是如何实现任务的调度。这一点我大概知道,就是每个任务在执行一些代码后,都会通过某种方式(比如调用OSTimeDly() )来主动放弃对MCU的控制权,这使得OS有机会对多个任务进行调度,在已经就绪的任务中选择优先级最高的那个执行。每个任务都有一个独立的堆栈,用来保存一些重要的状态变量(如PC/寄存器/PSW等),这样,当任务恢复执行的时能够回到前一次中断时的状态——这让每个任务觉得自己是系统中唯一的任务。实现任务的切换,需要明确任务的堆栈如何设计(存放在哪里,保存哪些项目),如何初始化,“现场”(运行状态)如何保护和恢复,需要知道任务切换在何时发生以及怎样发生。这些是我首先需要弄清楚的部分。好吧,争取明天能给自己一个满意的答案。

现在,去放松一下;)

uCOS-II在51单片机上的移植

约定:文中所写的硬件堆栈或系统堆栈是指51单片机SP指针所指向的堆栈空间,而用户堆栈或任务堆栈是指用来保存任务状态为每个任务分配的堆栈空间。       前一段时间一直在学习UCOS-II...
  • u012138828
  • u012138828
  • 2014年08月20日 16:46
  • 2658

μCOS-II移植到ARM处理器上的几个要点

一、uCOS II在ARM处理器上移植过程中的中断处理   uCOS II是一个源码公开、可移植、可固化、可剪裁和抢占式的实时多任务操作系统,其大部分源码是用ANSI C编写,与处理器硬件相关的...
  • maochengtao
  • maochengtao
  • 2014年12月04日 00:06
  • 1180

自制处理器OpenMIPS移植ucos-II过程之3——DE2验证OpenMIPS

在第二部分中,已经介绍了基于OpenMIPS的SOPC的结构,本文介绍如何将该SOPC下载到Altera的DE2上进行验证,我们的验证程序是模拟一个操作系统的启动过程,包括两个部分:BootLoade...
  • leishangwen
  • leishangwen
  • 2014年02月25日 11:22
  • 1438

uCOS-II在51单片机上的移植

约定:文中所写的硬件堆栈或系统堆栈是指51单片机SP指针所指向的堆栈空间,而用户堆栈或任务堆栈是指用来保存任务状态为每个任务分配的堆栈空间。       前一段时间一直在学习UCOS-II...
  • u012138828
  • u012138828
  • 2014年08月20日 16:46
  • 2658

自制处理器OpenMIPS移植ucos-II过程之1——OpenMIPS介绍

现在都流行自制,搭着这个东风,本人制作了一个32位的处理器,采用MIPS指令级,所以叫做OpenMIPS,它是完全开源的哦,大家可以自由下载讨论,共同提高。       裸奔是危险的,裸机也是不好用...
  • leishangwen
  • leishangwen
  • 2014年01月06日 12:25
  • 3571

STM32移植uCOS-II系统(1)

uCOS-II移植 一、获得uCOS-II软件 1.打开http://micrium.com/downloadcenter/ 2.找到需要的MCU厂商 我用的是ST公司的STM32F103Z...
  • wshngyf
  • wshngyf
  • 2015年05月23日 22:00
  • 806

uCOS-II在PC上的移植(使用VS2015)

说明1.代码来源:网上下载整理2.文件下载: uCOS-II移植到PC项目文件(使用VS2015,包含uCOS-II代码).zip uCOS-II移植到PC源码(uCOS-II版本v2.91).zip...
  • hxiaohai
  • hxiaohai
  • 2015年12月24日 19:23
  • 1980

UC/OS-II在ARM微处理器上的移植及编译

一、实验目的 1.了解uCOS-II内核的主要结构。 2.掌握将uCOS-II内核移植到ARM920T处理器上的基本方法。 二、实验内容 1.将uCOS-II内核移植到ARM920T微处理器上。 2....
  • lonely_Quan
  • lonely_Quan
  • 2015年06月27日 23:24
  • 1086

uCOS-II移植到STM32上的详细步骤

前言: 说点废话,网上有很多关于uCOS-ii移植的文章,好多都是千篇一律,理论性很强,分析了一大堆虚头巴脑的东西,实操性严重欠缺,这方面我也走了很多弯路,下面就将自己的移植过程一步步的记录下来,也...
  • linis_yes
  • linis_yes
  • 2016年08月28日 21:48
  • 1686

自制处理器OpenMIPS移植ucos-II过程之2——OpenMIPS实践版及SOPC搭建

这是第二部分,介绍了OpenMIPS实践版的主要特点、结构、文件组织,同时以OpenMIPS实践版为核心,搭建了一个小型的SOPC,该SOPC具有SDRAM控制器、GPIO控制器、flash控制器、U...
  • leishangwen
  • leishangwen
  • 2014年02月25日 11:20
  • 1590
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:移植uCOS-II到C51 - 1
举报原因:
原因补充:

(最多只允许输入30个字)