μc /os ii 系统有关知识
大磊大
好好学习天天向上(欢迎留言)
展开
-
ucos在s3c2410上运行过程整体剖析(8)-- 整体运行环境及工具说明 .
http://blog.csdn.net/zhanglianpin 基础知识里已经基本上讲解了UCOS要生活的家(即硬件平台环境),还有就是为了让高级语言写的程序能变成在硬件平台上直接运行的程序,编译器都干了些什么。还有这个C语言运行的环境问题,也就是从硬件和汇编语言的角度去理解高级语言。 下面我们就从硬件加电到UCOS真正运行起来这样一种思路讲解一个嵌入式实时操作系统的实现原理以转载 2012-08-28 17:09:03 · 647 阅读 · 0 评论 -
uC/OS-II学习笔记-定义全局变量 .
http://blog.csdn.net/zhanglianpin全局变量应该是得到内存分配且可以被其他模块通过C语言中extern关键字调用的变量。因此,必须在 .C 和 .H 文件中定义。这种重复的定义很容易导致错误。以下讨论的方法只需用在头文件中定义一次。虽然有点不易懂,但用户一旦掌握,使用起来却很灵活。表1.2中的 定义出现在定义所有全局变量的.H头文件中。程序清单 L 1.2转载 2012-08-28 17:15:08 · 1129 阅读 · 1 评论 -
ucos在s3c2410上运行过程整体剖析(6)-从main函数到UCOS初始化完毕 .
http://blog.csdn.net/zhanglianpin下面要讲解的内容基本上都是c语言编写的了,还有一部分代码是用汇编写的。以下我就以这个系统移植的实验源码为例做详细讲解。讲解的方式是根据程序执行的顺序进行,如果感觉有什么难理解的地方,会做一个宏观讲解和分析。好了废话不多说,进入main()函数之后做的事情有:对硬件平台做进一步的初始化操作对ucos操作系统做初始化操作转载 2012-08-28 17:05:25 · 959 阅读 · 0 评论 -
ucos在s3c2410上运行过程整体剖析(7)--创建任务到多任务调度及运行 .
http://blog.csdn.net/zhanglianpin直接开始说明ucos创建任务时的步骤:1, 初始化任务堆栈2, 初始化任务控制块3, 把刚创建的任务设置为就绪态(即置位就绪表)上面提到的任务堆栈,控制块,就绪表我们前面已经说过了,下面就直接看代码。INT8U OSTaskCreate (void (*task)(void *pd), void *p转载 2012-08-28 17:07:06 · 893 阅读 · 0 评论 -
ucos ii 在arm2410-s上的移植 .
http://blog.csdn.net/zhanglianpin最近,一直在研究ucosii在arm2410-s上的移植问题。一开始看的头都有点大了。不过,现在针对arm板子的初始化有了一定的认识。现总结一下。呵呵,方便查看。先从整体说一下有关嵌入式开发的问题,我们要用嵌入式开发工具编译出相应的烧录文件(*.bin),还有我们必须有把*.bin文件烧录进板子flah的手段或方法。转载 2012-08-28 17:14:32 · 1065 阅读 · 0 评论 -
ucos在s3c2410上运行过程整体剖析(1)------前言 .
http://blog.csdn.net/zhanglianpin 我是一名计算机系的学生,总想弄明白我们现在学的计算机到底是怎么工作的。而整个计算机知识是一个庞大的理论体系,且是分为很多层次结构的,简单说有硬件层,软件层。而理解这些不同层次的知识的关键在于理解层次之间的借口,借口理解透彻了,那你就能把各层次的知识融为一体,这些知识也必然可以为你所用了。研究中间件最好的就是操作系统了,但是转载 2012-08-28 16:58:47 · 614 阅读 · 0 评论 -
ucos在s3c2410上运行过程整体剖析之基础知识(5)-与UCOS运行有关的ARM9芯片知识--续 .
http://blog.csdn.net/zhanglianpin用户模式(user模式),运行应用的普通模式; 快速中断模式(fiq模式),用于支持数据传输或通道处理; 中断模式(irq模式),用于普通中断处理。超级用户模式(svc模式),操作系统的保护模式异常中断模式(abt模式),输入数据后登入或预取异常中断指令系统模式(sys模式),是操作系统使用的一个有特权的转载 2012-08-28 17:04:04 · 932 阅读 · 0 评论 -
ucos在s3c2410上运行过程整体剖析(4)-从加电到执行main函数 .
http://blog.csdn.net/zhanglianpin先说明一下在加电之前的这个软硬件情况,这个三星公司根据ARM920T软核生产的这个s3c2410集成了64M的sdram和64M的nandflash存储器。Vivi和UCOS都存储在这个nandflash中,因为nandflash断电后不会丢失信息。这个VIVI是三星公公司为ARM系列芯片书写的bootloader,用于开发阶段转载 2012-08-28 17:02:35 · 1205 阅读 · 0 评论 -
ucos在s3c2410上运行过程整体剖析之基础知识(3)-与UCOS运行有关的ARM9芯片知识 .
http://blog.csdn.net/zhanglianpin阅读这些内容前,希望你对计算机有了一点简单的概念,最好学习过计算机组成原理并知道一些最基本的概念。如果你学习过51系列的单片机并且利用51系列的单片机做过一些开发,那看这些内容就很简单了。如果你没这些知识也没关系,以我的学习经历来看,可以给大家一个学习计算机组成原理的建议。你可以先大致学习一下计算机组成原理,学完之后一般会对计算转载 2012-08-28 17:01:26 · 687 阅读 · 0 评论 -
ucos在s3c2410上运行过程整体剖析之基础知识--关于ADS编译、链接器 .
http://blog.csdn.net/zhanglianpin我在学习嵌入式操作系统UCOS时,有很大的迷茫之处,在于我不知道我用的工具到底帮我干了些神马工作。下面就说一下我当时的疑问:1:编译器和链接器干了些神马?我现在也还没能力知道它是怎么干的这些工作。以后慢慢来呗。但当时我连它干了神马都不清楚。2:它输入的是源程序,那他输出的是什么?有格式吗?是什么样子那?重重疑问。转载 2012-08-28 17:00:54 · 843 阅读 · 0 评论 -
ucos在s3c2410上运行过程整体剖析之基础知识(2)-c语言和堆栈 .
http://blog.csdn.net/zhanglianpin 我们知道C语言是一种高级语言,所谓高级语言就是要经过翻译才能在具体平台上运行的程序。而编译程序是一种比较繁琐的程序,它要把高级语言编译和链接后,成为能够在具体平台运行的程序。这其中有很多知识是和操作系统和具体硬件平台相关的,如果你想弄清楚编译程序请学习编译原理,有一本书可以参考《linkers_and_loaders》。原创 2012-08-28 17:00:13 · 1205 阅读 · 0 评论 -
ucos 统计任务 OS_TaskStat() .
http://blog.csdn.net/zhanglianpin先把ucosii中的原文写在这,然后再说一下我的具体理解。μC/OS-Ⅱ有一个提供运行时间统计的任务。这个任务叫做OS_TaskStat(),如果用户将系统定义常数OS_TASK_STAT_EN(见文件OS_CFG.H)设为1,这个任务就会建立。一旦得到了允许,OS_TaskStat()每秒钟运行一次(见文件OS_CORE.转载 2012-08-28 17:13:18 · 1337 阅读 · 0 评论 -
ucos OS_ENTER_CRITICAL .
http://blog.csdn.net/zhanglianpin 今天又看了一下ucos保护临界段代码,ucos是利用禁止中断来保护临界段的。ucos给我们提供了三种方法:一:直接关中断和直接开中断。即成对使用,保证临界段的安全。二:先把原来的中断状态压入栈中,然后再关闭中断。恢复时直接从栈中返回原来存储的中断状态。三:先保存原来的中断状态到一个变量中,然后再关闭中断。转载 2012-08-28 17:11:23 · 1135 阅读 · 0 评论 -
ucos在s3c2410上运行过程整体剖析(9)---两种任务切换的实现方法
http://blog.csdn.net/zhanglianpin以ucos为例,做详细说明。Ucos分为任务级任务切换和中断级任务切换。Ucos整个用户程序和操作系统程序都运行在一个模式下(SVC模式)。所以在不用切换芯片运行模式的情况下就可以做任务级任务切换。任务级进程切换原因是任务本身显示调用进程切换函数。比如新建了一个优先级比较高的任务时就要显示调用任务切换函数。还有就是任转载 2012-08-28 17:10:31 · 774 阅读 · 0 评论 -
ucos移植
ucos移植前的准备——自己写一个调度的系统(一) ucos移植前的准备——自己写一个调度的系统(二) ucos在AVR ATmega32上的移植(一) ucos在AVR ATmega32上的移植(二)原创 2013-09-09 18:41:54 · 1021 阅读 · 0 评论