mirror of
https://github.com/kelvinlawson/atomthreads.git
synced 2026-03-14 08:11:49 +01:00
38 lines
1.6 KiB
Plaintext
38 lines
1.6 KiB
Plaintext
---------------------------------------------------------------------------
|
|
|
|
Library: Atomthreads ARMv7 Port
|
|
Author: Natie van Rooyen <natie@navaro.nl>
|
|
License: BSD Revised
|
|
|
|
---------------------------------------------------------------------------
|
|
|
|
ARM ARMv7 PORT
|
|
|
|
This folder contains a port of the Atomthreads real time kernel for the
|
|
ARMv7 processor architecture. This port was only tested on a ARMv7 but
|
|
should work on other versions of the ARM processor as well.
|
|
|
|
To Use:
|
|
|
|
1. From your platforms IRQ vector branch to the "__irq_context_handler()".
|
|
All interrupts from where calls to Atomthreads will be made should do
|
|
this. The "__irq_context_handler()" will call a platform specific
|
|
function called "__context_preempt_handler()" to dispatch the interrupt.
|
|
|
|
2. Implement the function "__context_preempt_handler()"
|
|
from where your platforms interrupt cotroller will be serviced and the
|
|
interrupt will be dispatched to a specic interrupt service routine. In
|
|
the case of your platforms timer tick interrupt call the "archTickHandler()"
|
|
implemented in "atomport.c".
|
|
|
|
3. Initialize your platforms timer tick hardware to generata an OS timer tick
|
|
interrupt.
|
|
|
|
4. Add code to acknowledge your timer hardware's interrupt in the
|
|
function "archTickHandler()" implemented in "atomport.c". This must
|
|
be done here because "atomIntExit()" might switch the context.
|
|
|
|
5. After your platforms c-runtime initialization has completed, start
|
|
Atomthreads from your runtime's "main()" function.
|
|
|
|
6. Include the port's Maefile in your platform build flow. |