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

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

Merged
merged 10 commits into from
Apr 30, 2015

Conversation

georgekang
Copy link
Member

No description provided.

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.
@jserv
Copy link
Member

jserv commented Apr 17, 2015

@slpbaby: Can you verify it on STM32F429i Discovery?

@georgekang: Since it is a foundational change, I would like to treat it as the framework to enable user-level IRQs along with the minimized platform specific integrations.

@slpbaby
Copy link
Contributor

slpbaby commented Apr 17, 2015

Okay.

@jserv
Copy link
Member

jserv commented Apr 30, 2015

Merge userspace IRQ handler first and then verify all supported platforms.
Wait for @slpbaby's STM32F429 porting progress.

jserv added a commit that referenced this pull request Apr 30, 2015
implement userspace IRQ handling framework
@jserv jserv merged commit 9ecbf96 into f9micro:master Apr 30, 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.

3 participants