STM32上使用POSIX接口 (基于freertos)

STM32上使用POSIX接口 (基于freertos)

絮絮叨叨:如果不是博客粉丝,我都快要遗忘公众号这回事了,感谢所有认真阅读的读者的支持!


FreeRTOS 和 POSIX 接口简介

POSIX 接口的全称是:可移植性操作系统接口(Portable Operating System Interface, POSIX)。它是由电器和电子工程师协会(IEEE)开发的开放操作系统接口标准,并且得到 IOS 和 ANSI 的认可。

其主要目的是提升应用程序在各种 UNIX 系统环境之间的可移植性。使用 POSIX 接口开发的程序,可以在支持的平台方便进行移植。

FreeRTOS 是一款广泛使用于微控制器的开源实时操作系统,其具有极简的内核,几个文件中包含了:任务管理、时间管理、信号量、消息队列、内存管理、软件定时器,实现了实时操作系统的核心功能。

FreeRTOS 的 POSIX 接口层

在开发使用第三方库时,会遇到许多库都是运行在 linux 平台下,基于 posix 接口开发的。而在 FreeRTOS 内核的 API 是不兼容 POSIX 接口的。

但是在官方提供的 Library 中,包含了标准 POSIX 的线程兼容库,其满足 POSIX IEEE Std 1003.1-2017 标准。
支持的头文件列表如下:.

必须强调的是: 尽管在 FreeRTOS 的 POSIX 支持库中提供了 <fcntl.h> 的头文件,但是其中只包含了文件操作选项的宏定义,并未提供文件访问操作的一系列 API (open, read, write, ioctl等)。

在 STM32 上使用 POSIX

在官方提供的 POSIX 库的代码中并没有移植到 STM32, 而是提供了一个 VS Simulation,所以在 stm32 中使用该功能还是需要进行移植。

不过移植过程相对比较简单,只需要将 POSIX 库的源文件和头文件添加到工程中,并开启configUSE_POSIX_ERRNO 和 configUSE_APPLICATION_TASK_TAG 两个配置宏。

在移植时需要注意 FreeRTOS 的版本是否兼容,STM32CubeMX 默认的 FreeRTOS 库由于版本过低,无法直接使用。

我在移植时,使用 Cube 默认生成的 FreeRTOS 工程文件,然后使用 Simulation 中的文件替换原有文件进行的。

在阅读原文链接中,为移植好的 stm32 demo 工程和官方提供的 VS Simulation 工程。


文中代码可在我的github 中查看,请多多star⭐

github 地址

我开通微信公众号啦,更多及时的信息请关注公众号~
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
POSIX(Portable Operating System Interface,便携式操作系统接口)是一个操作系统界面标准,定义了一套应用程序与操作系统之间的接口规范。POSIX接口查询是指通过查询POSIX接口的相关信息来了解和使用POSIX接口的过程。 POSIX接口查询可以通过多种方式进行,例如参考POSIX标准文档、查询操作系统的官方文档或者使用互联网上的在线资源。 在进行POSIX接口查询时,首先需要了解POSIX接口所涉及的内容和功能。POSIX接口包括文件操作、进程管理、线程控制、信号处理、系统调用等方面的功能。可以通过查询POSIX标准文档或相关的参考资料来获取这些接口的详细信息。 在进行具体的POSIX接口查询时,可以根据需求和具体问题进行查询。例如,如果想要了解文件操作相关的接口,可以查询文件读写、文件打开关闭、文件属性等方面的接口。如果想要了解进程管理相关的接口,可以查询进程创建、进程终止、进程通信等方面的接口POSIX接口查询的目的是为了更好地理解和使用POSIX接口,因此在查询过程中需要关注接口的参数、返回值、使用方法和注意事项等方面的信息。在查询过程中还可以参考示例代码或案例来更好地理解接口使用方式。 总之,POSIX接口查询是一种通过查询相关资料和文档来了解和使用POSIX接口的过程,通过查询可以获得接口的具体信息和使用方法,从而更好地使用POSIX接口编写高效、可靠的应用程序。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值