using weak links for individual isrs
This commit is contained in:
parent
2288c9e2ff
commit
d869766664
|
@ -10,13 +10,9 @@
|
||||||
#define INTENNUM INTBASE + INTENNUM_OFF
|
#define INTENNUM INTBASE + INTENNUM_OFF
|
||||||
#define INTSRC INTBASE + INTSRC_OFF
|
#define INTSRC INTBASE + INTSRC_OFF
|
||||||
|
|
||||||
|
|
||||||
#define no_isrs() no_tmr_isr();
|
|
||||||
|
|
||||||
#define enable_tmr_irq() *(volatile uint32_t *)(INTENNUM) = 5;
|
#define enable_tmr_irq() *(volatile uint32_t *)(INTENNUM) = 5;
|
||||||
#define no_tmr_isr() void tmr_isr(void) { return; }
|
|
||||||
|
|
||||||
extern void tmr_isr(void);
|
extern void tmr_isr(void) __attribute__((weak));
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,9 @@ void irq(void)
|
||||||
{
|
{
|
||||||
// ISR_ENTRY();
|
// ISR_ENTRY();
|
||||||
/* check for TMR0 interrupt */
|
/* check for TMR0 interrupt */
|
||||||
|
if(tmr_isr != NULL) {
|
||||||
tmr_isr(); // led turns off if I have this, indicating that the isr does jump to tmr_isr
|
tmr_isr(); // led turns off if I have this, indicating that the isr does jump to tmr_isr
|
||||||
|
}
|
||||||
// if(reg32(INTSRC) & (1<<5)) { tmr_isr(); }
|
// if(reg32(INTSRC) & (1<<5)) { tmr_isr(); }
|
||||||
// asm("SUBS PC,R14_IRQ,#4")
|
// asm("SUBS PC,R14_IRQ,#4")
|
||||||
// enableIRQ(); // I think this is necessary, but the LED never turns off when I have this
|
// enableIRQ(); // I think this is necessary, but the LED never turns off when I have this
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
#include "embedded_types.h"
|
#include "embedded_types.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
__attribute__ ((section ("startup")))
|
__attribute__ ((section ("startup")))
|
||||||
void main(void) {
|
void main(void) {
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
#include "embedded_types.h"
|
#include "embedded_types.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
__attribute__ ((section ("startup")))
|
__attribute__ ((section ("startup")))
|
||||||
void main(void) {
|
void main(void) {
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
#include "embedded_types.h"
|
#include "embedded_types.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
__attribute__ ((section ("startup"))) void main(void) {
|
__attribute__ ((section ("startup"))) void main(void) {
|
||||||
*(volatile uint32_t *)GPIO_PAD_DIR0 = 0x00000100;
|
*(volatile uint32_t *)GPIO_PAD_DIR0 = 0x00000100;
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
#include "embedded_types.h"
|
#include "embedded_types.h"
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
__attribute__ ((section ("startup")))
|
__attribute__ ((section ("startup")))
|
||||||
void main(void) {
|
void main(void) {
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,6 @@ const uint8_t hex[16]={'0','1','2','3','4','5','6','7',
|
||||||
|
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
|
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
#define NBYTES 1024
|
#define NBYTES 1024
|
||||||
__attribute__ ((section ("startup")))
|
__attribute__ ((section ("startup")))
|
||||||
void main(void) {
|
void main(void) {
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
#include "maca.h"
|
#include "maca.h"
|
||||||
#include "embedded_types.h"
|
#include "embedded_types.h"
|
||||||
|
#include "isr.h"
|
||||||
|
|
||||||
#define reg(x) (*(volatile uint32_t *)(x))
|
#define reg(x) (*(volatile uint32_t *)(x))
|
||||||
|
|
||||||
|
@ -77,9 +78,6 @@ void toggle_led(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "isr.h"
|
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
__attribute__ ((section ("startup")))
|
__attribute__ ((section ("startup")))
|
||||||
void main(void) {
|
void main(void) {
|
||||||
uint8_t c;
|
uint8_t c;
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
#include "maca.h"
|
#include "maca.h"
|
||||||
#include "embedded_types.h"
|
#include "embedded_types.h"
|
||||||
|
#include "isr.h"
|
||||||
|
|
||||||
#define reg(x) (*(volatile uint32_t *)(x))
|
#define reg(x) (*(volatile uint32_t *)(x))
|
||||||
|
|
||||||
|
@ -112,9 +113,6 @@ void fill_data(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "isr.h"
|
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
__attribute__ ((section ("startup")))
|
__attribute__ ((section ("startup")))
|
||||||
void main(void) {
|
void main(void) {
|
||||||
uint8_t c;
|
uint8_t c;
|
||||||
|
|
|
@ -29,7 +29,6 @@ const uint8_t hex[16]={'0','1','2','3','4','5','6','7',
|
||||||
//#define DUMP_LEN 16
|
//#define DUMP_LEN 16
|
||||||
|
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
__attribute__ ((section ("startup")))
|
__attribute__ ((section ("startup")))
|
||||||
void main(void) {
|
void main(void) {
|
||||||
|
|
|
@ -47,9 +47,7 @@
|
||||||
#define reg16(x) (*(volatile uint16_t *)(x))
|
#define reg16(x) (*(volatile uint16_t *)(x))
|
||||||
|
|
||||||
#include "embedded_types.h"
|
#include "embedded_types.h"
|
||||||
|
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
__attribute__ ((section ("startup")))
|
__attribute__ ((section ("startup")))
|
||||||
void main(void) {
|
void main(void) {
|
||||||
|
|
|
@ -10,9 +10,7 @@
|
||||||
#define UART1_BR 0x80005018
|
#define UART1_BR 0x80005018
|
||||||
|
|
||||||
#include "embedded_types.h"
|
#include "embedded_types.h"
|
||||||
|
|
||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
no_isrs();
|
|
||||||
|
|
||||||
__attribute__ ((section ("startup")))
|
__attribute__ ((section ("startup")))
|
||||||
void main(void) {
|
void main(void) {
|
||||||
|
|
Loading…
Reference in a new issue