NanoPayload

stage2/stage2.c

216:95be7694d999
2017-06-28 Paul Boddie Employ structure member names to make initialisation clearer.
     1 /*     2  * Ben NanoNote stage 2 payload test.     3  *     4  * Copyright (C) Wolfgang Spraul <wolfgang@sharism.cc>     5  * Copyright (C) 2015, 2016 Paul Boddie <paul@boddie.org.uk>     6  *     7  * This program is free software: you can redistribute it and/or modify     8  * it under the terms of the GNU General Public License as published by     9  * the Free Software Foundation, either version 3 of the License, or    10  * (at your option) any later version.    11  *    12  * This program is distributed in the hope that it will be useful,    13  * but WITHOUT ANY WARRANTY; without even the implied warranty of    14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    15  * GNU General Public License for more details.    16  *    17  * You should have received a copy of the GNU General Public License    18  * along with this program.  If not, see <http://www.gnu.org/licenses/>.    19  */    20     21 #include "init.h"    22 #include "irq.h"    23 #include "lcd.h"    24 #include "cpu.h"    25 #include "cpu_op.h"    26 #include "tasks.h"    27     28 void c_main()    29 {    30 	volatile int started;    31     32 	init_tlb(0);    33 	flush_cache_all();    34     35 	/* The actual work. */    36     37 	started = is_started();    38     39 	if (!started)    40 	{    41 		gpio_init2();    42 		cpm_init();    43 		rtc_init();    44 		timer_init();    45 	}    46     47 	lcd_init();    48 	irq_init();    49     50 	/* Start the tasks. */    51     52 	init_tasks();    53 	start_tasks();    54     55 	/* Now, wait for the tasks to be selected as interrupts occur. */    56     57 	enable_interrupts();    58 	start_task_now();    59 }