这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 基于Cortex-M架构建立embOS评估工程

共3条 1/1 1 跳转至

基于Cortex-M架构建立embOS评估工程

工程师
2020-01-30 14:06:49     打赏
embOS是SEGGER公司开发的一款RTOS,支持抢占调度和时间片轮询调度。embOS内存占用少,ROM最少只占用1.7KB。代码符合MISRA-C:2012,支持低功耗管理,支持市面上主流的编译器和处理器架构。
embOS对教育和非商业用途提供免费评估,以二进制库的方式提供,可以登录SEGGER官网根据所使用的编译器和处理器进行下载。

进入embOS下载页面之后,就可以根据自己的处理器核与编译器选择对应的移植包进行下载。
解压下载的压缩文件,会得到embOS产品手册和针对特定处理器核编译器的说明文档,同时,Start目录提供了针对特定编译器的二进制库和Demo例程。对于库的选择和使用可以参考提供的说明文档。
以Cortex-M和IAR编译器为例,从Start>Lib目录选择ARM v7-M(M3/M4/M7),CPU小端模式,带调试、堆栈检测和性能分析功能的库os7M_tl_dpl.a。命名中的dpl表示debug + profiling + Stack check built with low optimization level,具体的库命名规则可以查看emOS_CortexM_IAR文档。
(1).将.a库添加到工程中,同时添加Start>Inc 中Global.h、OS_Config.h、RTOS.h所在路径到头文件路径设置。
(2).从Start> BoardSupport选择芯片厂商和芯片型号的目录,将其下Setup目录中的.c文件也添加到工程。如果没有所使用的芯片的Demo例程,可以选择与芯片接近的型号。
(3).修改BSP.c和BSP_UART.c,根据自己的硬件来实现。对于Cortex-M来说,RTOSInit_xxx.c中的代码可以通用。xmtx.c、xmtx2.c、xtmx3.c是IAR运行时库在embOS实现的线程安全和线程局部存储功能的接口,如果不使用线程安全相关的话,这三个文件可以不添加。
(4).在OS_Config.h中,根据所使用的库设置宏定义。
(5).启动OS。在启动embOS调度之前,需要至少创建一个任务。在main函数中,首先调用OS_Init()函数初始化embOS,然后调用OS_InitHW()初始化必要硬件。调用任务创建API创建任务,在调用OS_Start()之后,调度器启动,任务开始调度。
(6).embOS提供了IAR内核调试插件,在IAR中设置启用。
(7).当程序暂停运行时,通过IAR菜单栏上的embOS打开各项观察窗口,查看任务的执行情况。
SEGGER提供的embOS库包括了针对特定处理器核编译器移植,用户可以很方便的集成到现有工程。embOS的API也很简洁明了,结合产品手册可以很快上手。更多的embOS应用可以访问SEGGER官网。




工程师
2020-01-31 17:48:19     打赏
2楼

学习下


工程师
2020-02-01 13:18:13     打赏
3楼

很不错的介绍


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]