书栈网 · BookStack 本次搜索耗时 0.030 秒,为您找到 57 个相关结果.
  • 在windows上模拟

    freeRTOS的源代码中提供了windows下的示例代码,初学者可以使用这个示例代码了解freeRTOS,有visual studio和Eclipse两个版本。接下来将会介绍(只介绍使用visual studio 2015)这个例程的使用。
  • 配置文件

    config 参数 configUSE_PREEMPTION configUSE_PORT_OPTIMISED_TASK_SELECTION configUSE_TICKLESS_IDLE configUSE_IDLE_HOOK configUSE_MALLOC_FAILED_HOOK configUSE_DAEMON_TASK_STARTUP_H...
  • 软件定时器

    实现软件定时器时对效率的考虑 写定时器的回调函数的注意事项 定时器的服务/守护任务和定时器命令队列 使用软件定时器 一次性定时器与自动重装定时器 重设定时器 软件定时器Software Timer (或者称为”定时器”)允许函数在未来的某个设定时间得到执行。函数的执行是通过定时器调用回调函数完成的。从定时器开始到回调函数执行,这段时间称为定时器...
  • 内存管理

    freeRTOS源代码中的内存分配机制实现 heap_1.c heap_2.c heap_3.c heap_4.c heap_5.c RTOS内核需要使用 RAM 来为每次创建任务、队列、互斥量、信号量、事件组、软件定时器分配内存,内存分配可以由 freeRTOS 的API动态自动从堆上创建,也可以由开发者自己分配。 如果RTOS对象是动态创...
  • 编码规则和风格

    Codeing Standard 命名约定 变量 函数 宏 数据类型 代码分割 文件布局 C文件格式 Codeing Standard freeRTOS的源代码符合MISRA 编码标准,这个编码标准老长了,而且想要得到这玩意还有向MISRA付一点点小钱,所以下面只复制了一小部分。 脱离MISRA标准的部分: 两个API有多余一个...
  • 栈溢出检测

    堆栈溢出检测 方法1 方法2 每个任务都有一个自己的堆栈,如果任务使用xTaskCreate() 创建,则任务堆栈会自动从堆内存上创建。如果使用xTaskCreateStatic() 创建,则堆栈由开发者自己确定并提供。堆栈溢出是影响系统稳定性的一个常见因素,freeRTOS提供两种可选的用于检测和纠正堆栈溢出的机制。使用配置选项configCHEC...
  • 队列

    用户模型:最大限度的简化、最高限度的灵活性 队列阻塞 对列(queue )是任务间通信的一种简单实现方式,可以用来在任务间传递下数据,或者在中断与任务之间。新数据会被发送至队列尾部,在大多数情况下,队列是线程安全的先进先出(FIFO )缓冲器。当然,数据同样可以被发送至队列首部。 下面的动图演示了任务A将数据发送至队列尾部,任务B将数据取出,完成任务...
  • 队列集合

    队列集合 使用队列集合 使用集合队列的替代项 UDP/IP Stack: 问题定义 UDP/IP Stack: 解决方法 队列集合 freeRTOS通过队列集合(Queue Sets)允许任务同时阻塞在多个队列或者信号量上。队列和信号量以集合的形式组织。 注意:尽管在集成第三方的服务时,有时阻塞在多个队列上是必要的,但是还有很多其他的设计模...
  • 入门

    本章将对freeRTOS中的任务和协程、软件定时器、事件组以及通信机制等概念做一个基本的介绍,方便快速了解这些概念,到达入门的目的。
  • 通信机制

    freeRTOS使用队列、信号量、互斥量、任务通知完成任务间数据共享和通信。其中任务通知是8.2.0 版本新增加的功能。