关于m0核移植ucosii时遇到的问题

发布者:亚瑟摩根最新更新时间:2015-09-21 来源: eefocus关键字:m0核移植  ucosii 手机看文章 扫描二维码
随时随地手机看文章
前些天,一网友在我i店里买了关于ucosii移植时遇到的问题,起初我也只是能顺利的把ucosii移植到istm32上,然后能正常的启动起来,然后就把自己的经验挂到淘宝上分享了,结果还真有人求助。

他告诉我,他的ucosii是从官网上下载下来的,按照别人的把core.c    .asm     cpu.c  3个文件改好了,但是还是启动不了,我对M0并不十分了解,网友对ucosii的时钟系统也不太了解,然后我又帮他解释了一番,ucosii的系统时钟是通过系统滴答的发生1s中断产生的,。我提醒他先用定时器产生一个1s中断,然后将OSTimeTick();这个函数加到中断里去,但实际上还是有问题。接着,我让他全部注释的覅按这句话

 

//void  OS_CPU_SysTickHandler (void)
//{
//    OS_CPU_SR  cpu_sr;


//    OS_ENTER_CRITICAL();                         /* Tell uC/OS-II that we are starting an ISR          */
 //   OSIntNesting++;
 //   OS_EXIT_CRITICAL();

 //   OSTimeTick();                                /* Call uC/OS-II's OSTimeTick()                       */

 //   OSIntExit();                                 /* Tell uC/OS-II that we are leaving the ISR          */
//}

 

并在  SysTick_handler()这样写

{

 OS_CPU_SR  cpu_sr;

OS_ENTER_CRITICAL(); 

  OSTimeTick();    

OSIntExit();       

}

这就是我刚才说的 系统1S中断产生的回调函数。

但是系统会卡在启动代码.s里如图

1111.jpg

这个问题是因为在启动代码 里没有加入 os_cpu_handlaer的启动函数,否则os  系统也就是ucosii就会无法启动的。加入即可。

关键字:m0核移植  ucosii 引用地址:关于m0核移植ucosii时遇到的问题

上一篇:UCOSII在运行时进入了OS_TaskIdle的问题
下一篇:基于S3C2410的辅助倒车数字图象系统设计

推荐阅读最新更新时间:2024-03-16 14:32

关于m0核移植ucosii时遇到的问题
前些天,一网友在我i店里买了关于ucosii移植时遇到的问题,起初我也只是能顺利的把ucosii移植到istm32上,然后能正常的启动起来,然后就把自己的经验挂到淘宝上分享了,结果还真有人求助。 他告诉我,他的ucosii是从官网上下载下来的,按照别人的把core.c .asm cpu.c 3个文件改好了,但是还是启动不了,我对M0并不十分了解,网友对ucosii的时钟系统也不太了解,然后我又帮他解释了一番,ucosii的系统时钟是通过系统滴答的发生1s中断产生的,。我提醒他先用定时器产生一个1s中断,然后将OSTimeTick();这个函数加到中断里去,但实际上还是有问题。接着,我让他全部注释的覅按这句话 //void
[单片机]
关于<font color='red'>m0</font><font color='red'>核移植</font><font color='red'>ucosii</font>时遇到的问题
在STM32F中使用UCOSII如何支持低功耗模式
在不在系统的裸奔的软件中,使用RTC+STOP模式很容易实现低功耗模式,但是在UCOS之类的操作系统,实现这一模式就有点麻烦,最大的问题是任务切换是无法控制的,经常出现唤醒之后程序跑飞的情况。 首先,要把休眠的代码段放在低优先级任务中,不一定是系统自带的空闲任务,也可以是用户自定义的最低优先级的任务。 其次,在休眠代码的前后加上两个指令: //=================================================================================== OSSchedLock();//禁止任务调度 while(1) { .....//休眠代码RTC+STOP PWR_Ent
[单片机]
Stm32平台UCOSII的简单使用及注意事项
1.与UCOSII有关的几个概念:任务优先级,任务堆栈,任务控制块,任务就绪表和任务调度器 任务优先级,这个概念比较好理解, ucos 中,每个任务都有唯一的一个优先级。优先级是 任务的唯一标识。在 UCOSII 中,使用 CPU 的时候,优先级高(数值小)的任务比优先级低的 任务具有优先使用权,即任务就绪表中总是优先级最高的任务获得 CPU 使用权,只有高优先级 的任务让出 CPU 使用权(比如延时)时,低优先级的任务才能获得 CPU 使用权。 UCOSII 不支 持多个任务优先级相同,也就是每个任务的优先级必须不一样。 任务堆栈,就是存储器中的连续存储空间。为了满足任务切换和响应中断时保存 CPU 寄存 器中
[单片机]
Stm32平台<font color='red'>UCOSII</font>的简单使用及注意事项
ucosii移植到STM32-F0/F1/F2
用到的资源是: A、ST公司提供:STM32F10x开发标准库V3.5 B、实验平台:战舰开发板V2.1 C、编译软件:MDK3.8 D、编辑软件:Source Insight_V3.5 E、RTOS:ucosii_V2.92 F、实验现象设计:红灯亮灭各800ms,绿色灯亮灭各300ms 一、获取源码 这个可以百度下载,我们论坛也是有很多的源码工程的,官网可以在这里下载 http://micrium.com/downloadcenter/micrium-source-code/ 我移植的是2.92版本 二、获取ucosii源码文件 解压下载下来的压缩包,看到如下的文件目录结构 红色框框就是ucosii源码文件夹
[单片机]
<font color='red'>ucosii</font>移植到STM32-F0/F1/F2
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • Linux内核移植
    实验步骤:(1)准备工作(2)修改顶层Makefile(3)修改falsh 分区(4)配置编译内核下面以Linux2 6 30 4内核移植到gec2440为例:一、准备 ...
  • S5PV210 PWM定时器
    第一节 S5PV210的PWM定时器S5PV210共有5个32bit的PWM定时器,其中定时器0、1、2、3有PWM功能,定时器4没有输出引脚。PWM定时器使用PCLK_PS ...
  • S5PV210 NAND Flash
    NAND Flash关于NAND FlashS5PV210的NAND Flash控制器有如下特点:1) 支持512byte,2k,4k,8k的页大小2) 通过各种软件模式来进行NAND Fl ...
  • S5PV210串口
    串口设置之输入输出字符S5PV210 UART相关说明 通用异步收发器简称UART,即UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER,它用来 ...
  • S5PV210按键控制LED
    原理图如图所示:查询用户手册得到:程序例子:(完整代码见“代码下载链接”)1、轮询的方式查询按键事件 *main c* 核心代码如下:while(1 ...
  • S5PV210控制蜂鸣器
  • S5PV210的启动过程
  • S5PV210点亮LED
  • S5PV210启动过程详解
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved