-
Notifications
You must be signed in to change notification settings - Fork 18
Add osal hal #289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Add osal hal #289
Conversation
|
Hello! Currently there is a lot of OS abstraction that has been implemented in bm_core. I would take a look at the file bm_os.h which implements a lot of FreeRTOS abstractions. bm_os.h includes things such as:
Please let me know if you have any questions. |
|
Hi Matt, thanks for the feedback. I inadvertently sent this PR to this repo instead of my forked repo. I wasn't quite ready to post here yet, but here it is! I missed the abstractions in bm_core, thanks for sharing. Had you done any similar work for a HAL that I may have missed? To be clear, this is just a preliminary PR intended for discussion, not (yet) intended for submission to mainline. I have some other ideas for similar approaches within the drivers. |
|
@LarkspurRaven, we have not done anything in regards to a HAL. The things that have been things abstracted away from the core Bristlemouth stack are LWIP and FreeRTOS. Interested to see some of your other ideas around the HAL layer! Out of curiosity, are you trying to place Bristlemouth onto another platform other than the STM32U5? |
What changed?
This code adds an Operating System Abstraction Layer (OSAL) and a Hardware Abstraction Layer (HAL).
Reference
docs/bm_osal_hal.md.How does it make Bristlemouth better?
The OSAL and HAL provide a uniform interface between Bristlemouth core libraries and the underlying operating system and hardware platform. This decouples application logic from specific platform implementations (e.g., FreeRTOS, STM32), allowing for greater portability, testability, decoupling, and maintainability.
Reference
docs/bm_osal_hal.md.Where should reviewers focus?
This is not intended to be a complete or usable implementation.
Checklist