feat: UART (SCI) driver implementation and host unit tests #79
Labels
No labels
Category
App
Category
Documentation
Category
Firmware
Category
Hardware
Category
Qms
PR_Size
L
PR_Size
M
PR_Size
S
PR_Size
XL
PR_Size
XS
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Priority
Very Low Priority
Size
Epic
Size
Feature
Size
Task
Status
Blocked
Status
Draft
Status
Needs-review
Team
Board
Team
Dev
Team
Management
Type
Bug
Type
Capa
Type
Improvement
Type
New-feature
Type
Regulatory
Type
Usability
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
opendutchsolutions.public/hal_awr6843#79
Loading…
Add table
Add a link
Reference in a new issue
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?
Description
Adds
hal/mss/uart/hal_uart.c/.h— the UART (SCI) driver: baud/parity/stop-bit init (TRM-derived divisor formula against the 200MHz VCLK), blocking transmit/receive with bounded ready-poll timeouts, IRQ source enable/disable/priority, and the four instance/priority-line raw handlers decodingSCIFLRto a weak, application-overridablehal_uart_irq_handler()hook.Use Case / Rationale
As a firmware developer, I need a
hal_uart_*API for blocking UART I/O and IRQ configuration, following the same driver pattern established by GPIO (#75) and ESM (#77).As a QMS reviewer, I need the baud-divisor formula's correctness (and its two representative divisor values) covered by an automated test, the same rigor already applied to GPIO/ESM.
User Stories
hal_uart_init()to computeSCIBAUDfrom a requested bit rate instead of hand-computing the TRM formula myself.hal_uart_transmit()/hal_uart_receive()to block with a bounded timeout rather than spin forever on a stuck/absent SCI.testing/mss/unit/hal_functionality/test_uart.c) covering both instances, all parity/stop-bit combinations, and both priority IRQ handlers, runnable in CI without target hardware.Acceptance Criteria
hal/mss/uart/hal_uart.c/.himplemented against this project's currenthal/registers/component/uart.h/instance/uart.htesting/mss/unit/hal_functionality/test_uart.cpasses underctestFunctional Impact
None — self-contained addition alongside the already-landed GPIO/ESM drivers.
Regulatory Impact
None
QMS Impact
None
Risk Impact
No — existing risk coverage sufficient.
Related Issues / PRs
Relates to #4, relates to #75, relates to #77