build: Use compile_time_request system for init, tasks, and shutdown

Avoid using linker magic to define the init, task, and shutdown
functions.  Instead, use the compile_time_request system.  This
simplifies the build and produces more efficient code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor
2017-05-26 09:14:26 -04:00
parent ca9756413f
commit a82e949c00
26 changed files with 82 additions and 127 deletions

View File

@@ -16,14 +16,14 @@ DECL_CONSTANT(MCU, "sam3x8e");
* watchdog handler
****************************************************************/
static void
void
watchdog_reset(void)
{
WDT->WDT_CR = 0xA5000001;
}
DECL_TASK(watchdog_reset);
static void
void
watchdog_init(void)
{
uint32_t timeout = 32768 / 2; // 500ms timeout

View File

@@ -27,7 +27,7 @@ static uint32_t transmit_pos, transmit_max;
DECL_CONSTANT(SERIAL_BAUD, CONFIG_SERIAL_BAUD);
static void
void
serial_init(void)
{
gpio_peripheral('A', PIO_PA8A_URXD, 'A', 1);

View File

@@ -25,7 +25,7 @@ timer_read_time(void)
return TC0->TC_CHANNEL[0].TC_CV;
}
static void
void
timer_init(void)
{
TcChannel *tc = &TC0->TC_CHANNEL[0];
@@ -44,7 +44,7 @@ timer_init(void)
}
DECL_INIT(timer_init);
static void
void
timer_shutdown(void)
{
// Reenable timer irq