Index: firmware/source/sys_main.c =================================================================== diff -u -r792764062d7b7826af10e030277f18379af4fcd1 -rabb9687e52d9db5df1abe7626ba04a6d431ba823 --- firmware/source/sys_main.c (.../sys_main.c) (revision 792764062d7b7826af10e030277f18379af4fcd1) +++ firmware/source/sys_main.c (.../sys_main.c) (revision abb9687e52d9db5df1abe7626ba04a6d431ba823) @@ -43,13 +43,27 @@ /* USER CODE BEGIN (0) */ + +static void initProcessor( void ); +static void initSoftware( void ); +static void initTasks( void ); /* USER CODE END */ /* Include Files */ #include "sys_common.h" /* USER CODE BEGIN (1) */ +#include "system.h" +#include "sys_dma.h" +#include "can.h" +#include "sci.h" +#include "rti.h" + +#include "BLCommon.h" +#include "Interrupts.h" +#include "TaskBG.h" +#include "Timers.h" /* USER CODE END */ /** @fn void main(void) @@ -63,17 +77,44 @@ /* USER CODE BEGIN (2) */ /* USER CODE END */ -uint8 emacAddress[6U] = {0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU}; -uint32 emacPhyAddress = 0U; - int main(void) { /* USER CODE BEGIN (3) */ + initProcessor(); + initSoftware(); + initTasks(); + + taskBackground(); /* USER CODE END */ return 0; } /* USER CODE BEGIN (4) */ +static void initProcessor( void ) +{ + canInit(); + sciInit(); + dmaEnable(); +} + +static void initSoftware( void ) +{ + initInterrupts(); + initTimers(); +} + +static void initTasks( void ) +{ + // Initialize RTI to setup the 3 tasks + rtiInit(); + rtiEnableNotification( rtiNOTIFICATION_COMPARE0 | rtiNOTIFICATION_COMPARE1 | rtiNOTIFICATION_COMPARE3 ); + rtiStartCounter( rtiCOUNTER_BLOCK0 ); + // The timer task requires FIQ enabled + _enable_FIQ(); + // The general and priority tasks require IRQ enabled + _enable_IRQ(); +} + /* USER CODE END */