diff options
| author | Marti Bolivar <mbolivar@leaflabs.com> | 2011-09-14 14:42:04 -0400 | 
|---|---|---|
| committer | Marti Bolivar <mbolivar@leaflabs.com> | 2011-09-14 14:42:04 -0400 | 
| commit | a9f14657020161fe8798e23489ce7b9489bbe815 (patch) | |
| tree | 3b561e75b79b18c8bc851ba1b06ca1058050ebda /libmaple/nvic.h | |
| parent | 5ba24f6befb6016410df398a049054cf34365895 (diff) | |
| parent | 3f03c0c1edc74b3fb95f178a45a111a2d3381719 (diff) | |
| download | librambutan-a9f14657020161fe8798e23489ce7b9489bbe815.tar.gz librambutan-a9f14657020161fe8798e23489ce7b9489bbe815.zip | |
Merge remote branch 'nzmichaelh/comment-fixups-2'
Diffstat (limited to 'libmaple/nvic.h')
| -rw-r--r-- | libmaple/nvic.h | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/libmaple/nvic.h b/libmaple/nvic.h index 1630bc1..e3b052d 100644 --- a/libmaple/nvic.h +++ b/libmaple/nvic.h @@ -27,6 +27,20 @@  /**   * @file nvic.h   * @brief Nested vector interrupt controller support. + * + * Basic usage: + * + * @code + *   // Initialise the interrupt controller and point to the vector + *   // table at the start of flash. + *   nvic_init(0x08000000, 0); + *   // Bind in a timer interrupt handler + *   timer_attach_interrupt(TIMER_CC1_INTERRUPT, handler); + *   // Optionally set the priority + *   nvic_irq_set_priority(NVIC_TIMER1_CC, 5); + *   // All done, enable all interrupts + *   nvic_globalirq_enable(); + * @endcode   */  #ifndef _NVIC_H_ @@ -146,8 +160,22 @@ typedef enum nvic_irq_num {  #endif  } nvic_irq_num; +/* + * Initialises the interrupt controller and sets all interrupts to the + * lowest priority. + * + * For stand-alone products, the base address is normally the start of + * flash (0x08000000). + * + * @param vector_table_address  base address of the vector table + */  void nvic_init(uint32 vector_table_address, uint32 offset); + +/** + * Sets the base address of the vector table. + */  void nvic_set_vector_table(uint32 address, uint32 offset); +  void nvic_irq_set_priority(nvic_irq_num irqn, uint8 priority);  /** | 
