单片机
返回首页

MC9S08DZ60移植ucos小记

2021-04-19 来源:eefocus

移植之前一直看了任哲老师的那本书,学习了很多,自我感觉有点基础之后,上手移植,本篇只作为一个新手对ucos在MC9S08DZ60移植的理解。



首先,我的底层是从CSDN网站下载的,百度一下,就会和MC9S12XEP100一起出来。下载之后,由于本人对dz60的内核知识还不是很熟悉,按照自己对ucos的理解,移植之后,出现了很多问题,大致包括两种现象:1、系统在空闲任务里面打转,调度不了;2、系统执行一边我自己建立的任务之后,就无法再进行调度,一直在OSTimeTick()函数里面。


下面主要说一下,我是如何解决这种问题或者说其实是自己理解上的错误。



MC9S08DZ60调度任务,是通过,当中断产生之后,SP指针会指向目前最高优先级任务的起始地址,中断返回后,从最高优先级任务的起始地址开始执行,完成任务调度,这个是通过swi软中断指令实现的,具体调度函数,OSStartHighRdy(),在OS_CPU_A.ASM中通过汇编编写的。中断号为1,中断函数的入口在Project.prm底部设置。


VECTOR 1    OSCtxSw   /*swi 软件中断*///


定时任务设置定时器中断,中断时间可以设置位2ms,运行滴答函数OSTickISR()这个中断函数的入口在Project.prm底部设置


VECTOR 11   OSTickISR  //定时器中断,重新定义了中断号

如果用的不是定时器中断,中断号应对应的改变;

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

最新器件
精选电路图
  • 离子检测器电路分析

  • 非常简单的150W功放电路图

  • 如何使用LED驱动器LM3915制作振动计

  • 分享一个电网倾角计电路

  • 使用NE555和磁簧开关的橱柜照明电路

  • 电谐波图形均衡器示意图

    相关电子头条文章