Skip to content
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

threaded irq in user space #111

Closed
wants to merge 9 commits into from
Closed

Conversation

georgekang
Copy link
Member

Implement threaded irq in user space by IPC and provide example test case for this feature

By default, irq handler is _undefined_handler.  Therefore,
for an irq, we can compare _undefined_handler and its value
of vector table to identify if there is specific handler
for this irq.
Interrupt handler now could be defined as thread in
user space. Kernel provides ipc to register handler
thread and notify this handler when interrupt happens.
EXTI interrupt could be controlled by software.  Therefore,
it is very suitable to demo and test user thread irq.
RM0090 Reference manual
STM32F405xx, STM32F407xx, STM32F415xx and STM32F417xx
advanced ARM-based 32-bit MCUs
page.65
The schedule priority of ipc is higher than thread creation.
If ipc is too busy like ping-pong test, there is no chance to
do thread creation.  Therefore, we should add sleep funtion
in pong thread to avoid this starvation.
@georgekang georgekang closed this Mar 26, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant