So FreeRTOS has an ancient “FreeRTOS-Plus-IO” that is listed on some of its pages and confirmed via some forum posts if you know to look as deprecated for a long time now.
The AWS fork of FreeRTOS had a “Common IO” library that looked promising as a replacement: https://github.com/aws/amazon-freertos/tree/main/libraries/abstractions/common_io
However the AWS fork itself has now been deprecated, and I don’t see any mention of Common IO in the table on the announcement for that: https://www.freertos.org/2022/10/new-freertos-long-term-support-version-released.html
Is it correct to assume that Common IO is now deprecated as well or am I misunderstanding the situation? Does the FreeRTOS project currently offer any non-deprecated hardware abstraction layer for I/O peripherals like SPI/I2C/UART and the like?
We intend to continue with CommonIO for all the reasons that you mention above. It was necessary to move it to a new home when the containing repository was deprecated.
The new location is here
That said, we would love to hear a lot of feedback on the direction with hardware abstraction in general. We have found that many Silicon vendors provide such abstractions already and we are trying to understand what would be the best way to provide FreeRTOS users with a consistent and familiar way of communicating with hardware without turning the code into Lasagna with multiple HAL layers on top of each other.
Can you tell us a little bit more about your specific use case? That would go a long way towards understanding the problems users actually need solved.