Add HAL folder for common boards #366
Labels
No Label
API Change
Breaking API Change
bug
build
cosmetics
Documentation
duplicate
feature
help wanted
hotfix
invalid
question
Refactor
Tests
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: fsfw/fsfw#366
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Space hardware is usually expensive. A Raspberry Pi (Linux) or a STM32H743ZI-Nucleo (FreeRTOS & RTEMS) is not. I think it would be nice if sw developers who, for example, want to test their device handler for a sensor could just grab one of those cheap boards, plug the sensor in and test whether their device handler works. This would also allow SW development before the target hardware is acquired. Raspberry Pi and STM32 already provide hardware abstraction layers. The Raspberry Pi does so in form of Linux drivers(
ioctl
) and STM32 with their HAL. The only thing required in addition is a thin abstraction layer in form ofDeviceCommunicationIF
objects for all important peripheral protocols and a correspondingCookieIF
cookie implementation.The following interfaces would be very useful:
Raspberry Pi (or any other embedded linux system):
STM32H743ZI-Nucleo (FreeRTOS and propably also RTEMS):
Host:
PySerial
. The best option probably isboost::asio
. This would be interesting to send commands to an Arduino or any other device connected directly via USB, maybe with a USB-RS232 connector in between.boost::asio
provides one.Possible folder structure:
-> fsfw
--> ...
--> hal
---> stm32
---> rpi
And conditional compilation via CMake options like
FSFW_ADD_RASPBERRYPI_HAL
,FSFW_ADD_STM32_HAL
,FSFW_USE_BOOST_LIB
etc. which are set by upperCMakeLists.txt
file.Part of https://egit.irs.uni-stuttgart.de/fsfw/fsfw_hal