Advertisement

freeRTOS基础学习与协程实现的理解

阅读量:

freeRtos是一款开放源代码且无需付费的嵌入式操作系统,其官方网站为http://www.freertos.org。最近刚刚看了LiteOS的代码,所以想顺便了解下freeRtos的架构差异。从代码情况上讲,freeRtos的源代码中提供了更多和不同平台相关的代码,为了方便了解,选择基于cortexM4为基础的STM32F407的平台代码来加深了解。

freeRtos所具备的功能

作为一款用于嵌入式系统的操作系统,freeRtos具备任务管理、消息队列、事件处理、信号量、互斥锁以及软件定时器等基本功能。此外,为了便于问题解决,该系统还配备了越界检测、追踪机制和任务耗时统计等辅助性功能。在freeRtos的使用文档中,详细说明了函数接口及其具体应用实例。同时,该系统还提供了协程co-routine的支持。

有关系统启动过程

在freeRtos的源代码中,通常以startup或boot命名的文件作为启动文件。启动代码部分负责初始化中断向量服务程序。对于cortexM4架构而言,中断向量0-15对应的是内部中断,而16-255则对应外部IRQ。在示例代码中,除了对0-15号中断服务程序进行初始化外,还对如FLASH、DMA和I2C等外部设备进行了初始化操作。当系统完成初始化后,会进入reset_handler函数,并随后跳转至main函数执行。在main函数中

全部评论 (0)

还没有任何评论哟~