小v电子技术博文 上海鲤鲸网络科技 小v单片机

热门文章 UCOS-II OSStartHighRdy函数移植

  • 时间:2015-12-7
  • 作者:小v
  • 分类: ucosii系统
  • 浏览:892
  • 评论:0
  •    UCOS-II启动多任务环境的函数是OSStart();用户在调用OSStart()前,必须已经建立了一个或多个任务。OSStart()最终调用OSStartHighRdy()运行多任务启动前优先级最高的任务。OSStartHighRdy()代码是用汇编写的,在文件OS_CPU_A.S中。 函数如下: 代码分析如下: 1:进入系统模式,并关闭IRQ,FIQ中断 2:调用OSTaskSwHook(),这是钩子函数,一般为空,用户可以视需要自己添加内容。也可以不调用。 3、LDR R4, =OSRunning的LDR是伪指令,‘=’是LDR作为伪指令和标准指令的区别。 这条指令的作用是...

    阅读全文>>

    热门文章 stm32上ucosii的工作流程从启动代码到ucosii的汇编

  • 时间:2015-12-7
  • 作者:小v
  • 分类: ucosii系统
  • 浏览:882
  • 评论:0
  • 本文章介绍在stm32上也就是cortex m3核的基础上ucosii是如何运行起来的。 打卡启动代码 xx_cl.s   首先stm32起来后首先进入启动代码, ; Reset handler Reset_Handler    PROC                  EXPORT  Reset_Handler             [WEAK]         IMPORT  SystemI...

    阅读全文>>

    热门文章 关于m0核移植ucosii时遇到的问题

  • 时间:2015-8-23
  • 作者:小v
  • 分类: ucosii系统
  • 浏览:883
  • 评论:0
  • 前些天,一网友在我i店里买了关于ucosii移植时遇到的问题,起初我也只是能顺利的把ucosii移植到istm32上,然后能正常的启动起来,然后就把自己的经验挂到淘宝上分享了,结果还真有人求助。 他告诉我,他的ucosii是从官网上下载下来的,按照别人的把core.c    .asm     cpu.c  3个文件改好了,但是还是启动不了,我对M0并不十分了解,网友对ucosii的时钟系统也不太了解,然后我又帮他解释了一番,ucosii的系统时钟是通过系统滴答的发生1s中断产生的,。我提醒他先用定时器产生一个1s中断,然后将OSTimeTick();这个函数加到中断里去,但实际上还是有问题。接着,我让...

    阅读全文>>

    热门文章 Ucos-2学习笔记

  • 时间:2015-1-5
  • 作者:小v
  • 分类: ucosii系统
  • 浏览:860
  • 评论:0
  •   现在公司做项目用的是ucos系统,之前都在裸奔,现在从零开始,想把学习笔录记录下来。以供日后翻阅。眼前有本书是邵贝贝的,可是一看就有点头大,还是从零开始吧! 为什么要用操作系统? 裸奔程序是由先后顺序的,比如执行程序a时,程序B在等待,等a执行完后才允许B执行。而在操作系统上我们可以理解为多个任务都在执行,两个人物之间可以通过操作系统来协调,当优先级高的紧急任务可以抢占内核优先执行任务。Ucos2适用于小系统小规模的项目,可以提高执行效率。严格地说,uc/OS-II只是一个实时操作系统内核 它仅仅包含了任 务 调度、任务管理、时间管理、内存管理和任务间的通信和同步等基本功能,没有提供输入输出管理、文件系统、网络等额外的...

    阅读全文>>

    热门文章 UCOSII在运行时进入了OS_TaskIdle的问题

  • 时间:2014-12-23
  • 作者:小v
  • 分类: ucosii系统
  • 浏览:3378
  • 评论:0
  • 目前正在用ucosii跑几个小任务,还算稳定。由于接触ucosii时间并不太长,所以出了问题还是会在系统上找问题。 int main(void) {  INT8U ret = 0; IOInit(); //外设功能初始化 OSInit(); //uCOS-II系统初始化  ret = OSTaskCreate( MY_Task, //初始化任务 (void*)0, //无参数 &Start_TaskStk[APP_TASK_STK_SIZE-1], //任务堆栈大小为128*4Byte PRIO_START_TASK); //优先级最高 OSStart(); //开始任务调度 return 0; } ...

    阅读全文>>

    热门文章 移植ucosii遇到的问题 B OSStartHang

  • 时间:2014-12-23
  • 作者:小v
  • 分类: ucosii系统
  • 浏览:2672
  • 评论:1
  • ucosii在STM32rbt6上可以正常地运行,工作需要,我将ucosii移植到STM32F103C8T6,更换了一下启动代码,结果程序 开始调度时就死在 那了 OSStart(); 进去后 void OSStart (void) { if (OSRunning == OS_FALSE) { OS_SchedNew();  OSPrioCur = OSPrioHighRdy; OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]; OSTCBCur = OSTCBHighRdy; OSStartHighRdy();  } }停在黑色加粗,通过调试找到汇编代码.asm里边 OSStartHang B OS...

    阅读全文>>

    返回顶部| 首页| 手气不错| 捐赠支持| 自定义链接| 自定义链接| 自定义链接| 手机版本|后花园

    Copyright © 2014-2017   京ICP备14059411 Copyright 2014-2015 上海鲤鲸网络科技工作室 版权所有 All Rights Reserved

    sitemap