新闻中心

EEPW首页>嵌入式系统>设计应用> μC/OS-III在Cortex-M3处理器上的移植

μC/OS-III在Cortex-M3处理器上的移植

作者: 时间:2012-05-03 来源:网络 收藏

2.4 BSP
内核包含了一个SysTick定时器,可以用来给μC/提供系统时钟节拍。SysTick初始化和ISR的源代码实现分别如下:
h.JPG
i.JPG
μC/新增了时间戳功能,用于测量中断禁用时长、代码执行时长和确定事件发生时间等。时间戳定时器可以由DWT(Data Watchpo int and Tracc)的时钟周期计数器CYCCNT充当,该计数器是一个自由运行的32位递增计数器,溢出时自动重载为0,周而复始。时间戳定时器初始化和读取函数源代码实现分别如下:
j.JPG
此外,本过程的BSP还涉及RCC、GPIO、NVIC和LED/LCD等硬件的初始化函数和驱动程序。

3 测试
首先不加任何用户任务来测试好的μC/内核自身运行情况,待验证内核正常运行之后,编写TaskLed1、TaskLed2、TaskLe d3、TaskProfile四个任务,其中前3个任务被赋予相同的优先级(本是假设使能了μC/OS-III的轮转调度功能),实现对3盏LED灯不停地
闪烁;而TaskProfile的功能是在液晶屏上显示上下文切换次数。

本文引用地址://m.amcfsurvey.com/article/149143.htm

a.JPG


运行结果如图2所示。图中3盏LED灯不停地闪烁,验证了μC/OS-III的相同优先级任务轮转调度的特征;LCD上显示CtxSwCtr的值一直在增加,指示不断发生上下文切换。系统连续稳定运行5个小时以上没出现任何问题,可见本移植是成功的。

结语
本文主要论述了基于内核上μC/OS-III的移植过程并给出关键代码,移植后的μC/OS-III能够稳定运行于STM32F103RB T6上。本移植能通用于大部分内核的,并对于将μC/OS-III移植到其他体系结构的处理器上具有参考价值。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭