From 7f950d9ccffcb203bb0fe021811521e25e346172 Mon Sep 17 00:00:00 2001 From: Kai-Bjoern Gemlau Date: Fri, 29 May 2020 12:03:48 +0200 Subject: [PATCH] Updated Aufgabe6 --- src/APP/Aufgabe6/ps7/core0/build/sources.mk | 2 +- src/APP/Aufgabe6/ps7/core0/cfg/imu.h | 44 ----------------------------- src/APP/Aufgabe6/ps7/core0/cfg/pid.h | 18 ------------ src/APP/Aufgabe6/ps7/core0/cfg/tasks.h | 20 ------------- src/APP/Aufgabe6/ps7/core0/cfg/ttc_timer.h | 32 --------------------- src/APP/Aufgabe6/ps7/core0/main.c | 9 +----- src/APP/Aufgabe6/ps7/core0/src/app_hooks.c | 3 ++ src/APP/Aufgabe6/ps7/core0/src/gt_tasks.c | 35 +++++++---------------- 8 files changed, 15 insertions(+), 148 deletions(-) delete mode 100644 src/APP/Aufgabe6/ps7/core0/cfg/imu.h delete mode 100644 src/APP/Aufgabe6/ps7/core0/cfg/pid.h delete mode 100644 src/APP/Aufgabe6/ps7/core0/cfg/tasks.h delete mode 100644 src/APP/Aufgabe6/ps7/core0/cfg/ttc_timer.h diff --git a/src/APP/Aufgabe6/ps7/core0/build/sources.mk b/src/APP/Aufgabe6/ps7/core0/build/sources.mk index 8774813..17e1ea5 100644 --- a/src/APP/Aufgabe6/ps7/core0/build/sources.mk +++ b/src/APP/Aufgabe6/ps7/core0/build/sources.mk @@ -18,7 +18,7 @@ SRC += $(SRC_DIR)/APP/$(APP)/$(ARCH)/core$(CORE)/src/xttcps_g.c SRC += $(SRC_DIR)/APP/$(APP)/$(ARCH)/core$(CORE)/src/xgpiops_g.c SRC += $(SRC_DIR)/APP/$(APP)/$(ARCH)/core$(CORE)/src/xiicps_g.c -SRC += $(SRC_DIR)/ucos_v1_42/micrium_source/uCOS-II/Ports/ARM-Cortex-A/Generic/GNU/os_cpu_a_vfp-none.S +SRC += $(SRC_DIR)/ucos_v1_42/micrium_source/uCOS-II/Ports/ARM-Cortex-A/Generic/GNU/os_cpu_a_vfp-d32.S SRC += $(SRC_DIR)/ucos_v1_42/micrium_source/uCOS-II/Ports/ARM-Cortex-A/Generic/GNU/os_cpu_c.c SRC += $(SRC_DIR)/ucos_v1_42/micrium_source/uC-CPU/Cache/ARM/armv7_generic_l1/GNU/cpu_cache_armv7_generic_l1_a.S diff --git a/src/APP/Aufgabe6/ps7/core0/cfg/imu.h b/src/APP/Aufgabe6/ps7/core0/cfg/imu.h deleted file mode 100644 index a3c2469..0000000 --- a/src/APP/Aufgabe6/ps7/core0/cfg/imu.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * imu.h - * - * Created on: Nov 6, 2018 - * Author: laurenzb - */ - -#ifndef SRC_APP_AUFGABE7_PS7_CORE0_CFG_IMU_H_ -#define SRC_APP_AUFGABE7_PS7_CORE0_CFG_IMU_H_ - -#include -#include "xiicps.h" -#include "xparameters.h" - - - - -#define MPU9250_AD 0x68 //Adresse d. I²C slaves festlegen -#define GYRO_CONFIG_AD 0x1B //Gyroskop config register -#define ACCEL_CONFIG_1_AD 0x1C //Beschleunigungssensor config reg1 -#define ACCEL_CONFIG_2_AD 0x1D //Beschleunigungssensor config reg1 -#define CONFIG_AD 0x1A //IMU config reg -#define PWR_MGMT_1_AD 0x6B //cloc power management register -#define GYRO_XOUT_H_AD 0x43 //hier das Startregister der Gyroskopdaten -#define ACCEL_XOUT_H_AD 0x3B //startreg Accel Daten - -#define IIC_DEVICE_ID XPAR_XIICPS_1_DEVICE_ID //??? in xparameters.h noch die iic Daten für das Gerät festlegen? -#define IIC_SCLK_RATE 100000 - -int mpu9250_Imu_Init(void *pdata); -uint8_t mpu9250_Iic_Init(); -void mpu9250_Init(void); -uint8_t mpu9250_Write_Reg(uint8_t iic_address, uint8_t data); -int8_t mpu9250_Read_Data(uint8_t iic_address, uint8_t length, u8 RecvBuffer[]); -uint8_t mpu9250_Map_Gyro_Data(int16_t result[]); -uint8_t mpu9250_Map_Acc_Data(int16_t result[]); -uint8_t mpu9250_Read_Status(int16_t result[]); -int mpu9250_Get_Data_Task(void *pdata); - - - -#endif /* SRC_APP_AUFGABE7_PS7_CORE0_CFG_IMU_H_ */ - - diff --git a/src/APP/Aufgabe6/ps7/core0/cfg/pid.h b/src/APP/Aufgabe6/ps7/core0/cfg/pid.h deleted file mode 100644 index 97ce0a0..0000000 --- a/src/APP/Aufgabe6/ps7/core0/cfg/pid.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * pid.h - * - * Created on: Jan 28, 2019 - * Author: laurenzb - */ - -#ifndef SRC_APP_AUFGABE7_PS7_CORE0_CFG_PID_H_ -#define SRC_APP_AUFGABE7_PS7_CORE0_CFG_PID_H_ - -unsigned int pid_Init(void *pdata); -int16_t pid_Constrain(int16_t value, int16_t lowerBorder, int16_t higherBorder); -int pid_Task(void *pdata); -int16_t map(int16_t x, int16_t in_min, int16_t in_max, int16_t out_min, int16_t out_max); - - - -#endif /* SRC_APP_AUFGABE7_PS7_CORE0_CFG_PID_H_ */ diff --git a/src/APP/Aufgabe6/ps7/core0/cfg/tasks.h b/src/APP/Aufgabe6/ps7/core0/cfg/tasks.h deleted file mode 100644 index 3a989b2..0000000 --- a/src/APP/Aufgabe6/ps7/core0/cfg/tasks.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Created on: Nov 6, 2018 - * Author: laurenzb - */ - - -int Task_A(void *pdata); -int task_a_init(void *pdata); - -int Task_B(void *pdata); -int task_b_init(void *pdata); - -int Task_C(void *pdata); -int task_c_init(void *pdata); - -int Task_D(void *pdata); -int task_d_init(void *pdata); - -int Task_E(void *pdata); -int task_e_init(void *pdata); diff --git a/src/APP/Aufgabe6/ps7/core0/cfg/ttc_timer.h b/src/APP/Aufgabe6/ps7/core0/cfg/ttc_timer.h deleted file mode 100644 index 099a14a..0000000 --- a/src/APP/Aufgabe6/ps7/core0/cfg/ttc_timer.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * ttc_timer.h - * - * Created on: Nov 13, 2018 - * Author: laurenzb - */ - -#include - -#ifndef SRC_APP_AUFGABE7_PS7_CORE0_CFG_TTC_TIMER_H_ -#define SRC_APP_AUFGABE7_PS7_CORE0_CFG_TTC_TIMER_H_ - -//#define INTC_DEVICE_ID XPAR_SCUGIC_0_DEVICE_ID -//#define TTC_DEVICE_ID XPAR_XTTCPS_0_DEVICE_ID -//#define TICK_TIMER_FREQ_HZ 100 /* Tick timer counter's output frequency */ -//#define TTC_PWM_DEVICE_ID XPAR_XTTCPS_0_DEVICE_ID -// -// -//#define TTC_PWM_DEVICE_ID XPAR_XTTCPS_0_DEVICE_ID -//#define TTC_PWM_INTR_ID XPAR_XTTCPS_0_INTR -//#define TTCPS_CLOCK_HZ XPAR_XTTCPS_0_CLOCK_HZ -// -// -//#define TICK_TIMER_FREQ_HZ 100 /* Tick timer counter's output frequency */ -//#define PWM_OUT_FREQ 350 /* PWM timer counter's output frequency */ -// -//#define TICKS_PER_CHANGE_PERIOD TICK_TIMER_FREQ_HZ * 5 /* Tick signals PWM */ - -int timer_Task(void *pdata); -int timer_Init(); - -#endif /* SRC_APP_AUFGABE7_PS7_CORE0_CFG_TTC_TIMER_H_ */ diff --git a/src/APP/Aufgabe6/ps7/core0/main.c b/src/APP/Aufgabe6/ps7/core0/main.c index 2ec30b2..58ddb00 100644 --- a/src/APP/Aufgabe6/ps7/core0/main.c +++ b/src/APP/Aufgabe6/ps7/core0/main.c @@ -4,7 +4,7 @@ Author : Kai-Björn Gemlau Version : Copyright : Copyright belongs to the authors - Description : Hello World in C, Praktikum Aufgabe 7s + Description : Hello World in C, Praktikum Aufgabe 6 ============================================================================ */ @@ -15,8 +15,6 @@ #include "ucos_bsp.h" #include "xil_testmem.h" #include "xil_printf.h" -#include "imu.h" -#include "ttc_timer.h" #include "gt_core.h" #include "gt_cpu.h" @@ -26,19 +24,14 @@ void InitDoneCallback(void * p_arg) { (void) p_arg; UCOS_Print("OS started!\r\n"); GT_Init(); - - } int main(void) { MMUInit(); - GT_Calibrate(); - UCOSStartup(InitDoneCallback); - while (1) ; } diff --git a/src/APP/Aufgabe6/ps7/core0/src/app_hooks.c b/src/APP/Aufgabe6/ps7/core0/src/app_hooks.c index 0f55548..dacdb96 100644 --- a/src/APP/Aufgabe6/ps7/core0/src/app_hooks.c +++ b/src/APP/Aufgabe6/ps7/core0/src/app_hooks.c @@ -151,6 +151,9 @@ void App_TaskDelHook (OS_TCB *ptcb) #if OS_VERSION >= 251 void App_TaskIdleHook (void) { + __asm volatile( "dsb" ); + __asm volatile( "wfi" ); + __asm volatile( "isb" ); } #endif diff --git a/src/APP/Aufgabe6/ps7/core0/src/gt_tasks.c b/src/APP/Aufgabe6/ps7/core0/src/gt_tasks.c index 75a654b..db6d94d 100644 --- a/src/APP/Aufgabe6/ps7/core0/src/gt_tasks.c +++ b/src/APP/Aufgabe6/ps7/core0/src/gt_tasks.c @@ -5,20 +5,14 @@ * Author: matthiasb */ - #include "ucos_uartps.h" #include "xil_printf.h" #include "ucos_ii.h" #include "ucos_bsp.h" #include "gt_types.h" -//#include "gt_cfg_types.h" #include "gt_cfg.h" #include /* memset */ -#include "tasks.h" - - - #define TASK_A_PRIO 11 #define TASK_B_PRIO @@ -26,12 +20,6 @@ #define TASK_D_PRIO #define TASK_E_PRIO -#define TASK_STK_SIZE 256 - -static OS_STK TaskStacks[GT_NUM_OF_TASKS][TASK_STK_SIZE]; - -/*-------------------------------Task model internal struct definitions-------------------------------*/ - /*------------------------------------Execution times and periods-------------------------------------*/ @@ -51,15 +39,12 @@ GT_TASK_EXT_T GT_AllTasks[GT_NUM_OF_TASKS] = { {200, 0, 0, {2, 5}}, }; -/*------------------------------------Internal call back functions-------------------------------------*/ - - /* * Main task table, used for GT_Init call */ GT_TASK_T GT_Tasks[GT_NUM_OF_TASKS] = { - /*Type Activation Id Prio Next Activation CET Task init Function Task Function TaskArg D WL/Runable Internal External */ + /*Type Activation Id Prio init Function Task Function TaskArg WL/Runable Internal External */ { GT_TASK_DEF , GT_ACT_INT , 0, TASK_A_PRIO, NULL ,NULL , NULL, GT_RUNABLE_NULL, GT_INTERNAL_NULL, (void *)>_AllTasks[0]}, { GT_TASK_DEF , GT_ACT_INT , 1, TASK_B_PRIO, NULL ,NULL , NULL, GT_RUNABLE_NULL, GT_INTERNAL_NULL, (void *)>_AllTasks[1]}, { GT_TASK_DEF , GT_ACT_INT , 2, TASK_C_PRIO, NULL ,NULL , NULL, GT_RUNABLE_NULL, GT_INTERNAL_NULL, (void *)>_AllTasks[2]}, @@ -67,15 +52,9 @@ GT_TASK_T GT_Tasks[GT_NUM_OF_TASKS] = { GT_TASK_DEF , GT_ACT_INT , 4, TASK_E_PRIO, NULL ,NULL , NULL, GT_RUNABLE_NULL, GT_INTERNAL_NULL, (void *)>_AllTasks[4]}, }; -/* - * Internal activation - */ - -/* - * - * start and end hooks - * - */ +void _taskActivated(void){ + return; +} void _taskScheduled(void){ return; @@ -93,6 +72,9 @@ void _taskFinished(void){ return; } +void GT_TaskActivationHook(GT_TASK_T *pMyOwnTask) { + //call _taskActivated +} void GT_TaskStartHook(GT_TASK_T *pMyOwnTask) { //call _taskStarted @@ -112,4 +94,7 @@ void GT_TaskSwHook(GT_TASK_T *pMyOwnTask) { //call Task scheduled or not } +void GT_TaskMissHook(GT_TASK_T *pMyOwnTask){ + //This is called if a deadline is missed (implicit deadlines) +}