Compare commits
1 Commits
559860f969
...
praktikum
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e0c1ce3e07 |
4
Debug/ps7/Aufgabe7/draw.bak
Normal file
4
Debug/ps7/Aufgabe7/draw.bak
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
var.draw acceleBuffer
|
||||||
|
var.draw gyroBuffer
|
||||||
|
var.draw angleBuffer
|
||||||
|
var.draw pidArray
|
||||||
4
Debug/ps7/Aufgabe7/draw.cmm
Normal file
4
Debug/ps7/Aufgabe7/draw.cmm
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
var.draw accelBuffer
|
||||||
|
var.draw gyroBuffer
|
||||||
|
var.draw angleBuffer
|
||||||
|
var.draw pidArray
|
||||||
50
Debug/ps7/Aufgabe7/windowSetting.bak
Normal file
50
Debug/ps7/Aufgabe7/windowSetting.bak
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
// T32_PORT38791 Tue Nov 18 20:10:58 2025
|
||||||
|
|
||||||
|
B::
|
||||||
|
|
||||||
|
TOOLBAR ON
|
||||||
|
STATUSBAR ON
|
||||||
|
FramePOS 273.86,-1.875,,,Maximized
|
||||||
|
WinPAGE.RESet
|
||||||
|
|
||||||
|
WinPAGE.Create P000
|
||||||
|
WinCLEAR
|
||||||
|
|
||||||
|
WinPOS 136.43 0.0 77. 12. 26. 1. W001
|
||||||
|
WinTABS 13. 0. 0. 0. 0. 0. 0. 0. 0. 23.
|
||||||
|
wl.Break.List
|
||||||
|
|
||||||
|
WinPOS 136.43 18.25 77. 38. 0. 0. W002
|
||||||
|
wl.Var.Watch %Hex %Decimal
|
||||||
|
|
||||||
|
VAR.ADDWATCH OSPrioCur
|
||||||
|
|
||||||
|
WinPOS 218.29 0.0 50. 26. 0. 0. W003
|
||||||
|
wl.Register /SPOTLIGHT
|
||||||
|
|
||||||
|
WinPOS 0.0 48.75 132. 8. 41. 1. W004
|
||||||
|
WinTABS 41. 31.
|
||||||
|
wl.Symbol.browse \\*\*\*
|
||||||
|
|
||||||
|
WinPOS 218.29 30.5 50. 26. 5. 0. W006
|
||||||
|
wl.Frame /Locals
|
||||||
|
|
||||||
|
WinPOS 1.4286 0.0 132. 42. 16. 1. W000
|
||||||
|
WinTABS 10. 10. 25.
|
||||||
|
wl.List.auto
|
||||||
|
|
||||||
|
WinPOS 149.43 13.563 116. 17. 16. 2. W005
|
||||||
|
wl.var.draw accelBuffer
|
||||||
|
|
||||||
|
WinPOS 148.86 36.0 116. 17. 16. 2. W007
|
||||||
|
wl.var.draw gyroBuffer
|
||||||
|
|
||||||
|
WinPOS 30.0 13.125 116. 17. 16. 2. W008
|
||||||
|
wl.var.draw angleBuffer
|
||||||
|
|
||||||
|
WinPOS 29.429 35.938 116. 17. 16. 2. W010
|
||||||
|
wl.var.draw pidArray
|
||||||
|
|
||||||
|
WinPAGE.select P000
|
||||||
|
|
||||||
|
ENDDO
|
||||||
13
Makefile
13
Makefile
@@ -25,12 +25,11 @@ OUT_DIR = ./out
|
|||||||
|
|
||||||
TARGET := $(APP)_$(ARCH)_core$(CORE)
|
TARGET := $(APP)_$(ARCH)_core$(CORE)
|
||||||
TARGET_DIR := $(SRC_DIR)/APP/$(APP)/$(ARCH)/core$(CORE)/
|
TARGET_DIR := $(SRC_DIR)/APP/$(APP)/$(ARCH)/core$(CORE)/
|
||||||
$(info TARGET_DIR : ${TARGET_DIR})
|
|
||||||
|
|
||||||
OBJ_DIR = ./$(OUT_DIR)/$(TARGET)
|
OBJ_DIR = ./$(OUT_DIR)/$(TARGET)
|
||||||
|
|
||||||
# Load specific config for compiler, linker, ...
|
# Load specific config for compiler, linker, ...
|
||||||
include $(TARGET_DIR)/build/config.mk
|
-include $(TARGET_DIR)/build/config.mk
|
||||||
|
|
||||||
#Output files: elf, map and list-file
|
#Output files: elf, map and list-file
|
||||||
EXECUTABLE=$(OBJ_DIR)/../$(TARGET).elf
|
EXECUTABLE=$(OBJ_DIR)/../$(TARGET).elf
|
||||||
@@ -43,13 +42,11 @@ LDSCRIPT = -T$(TARGET_DIR)/linker/lscript.ld
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
#Include source-files:
|
#Include source-files:
|
||||||
$(info TARGET_DIR : ${TARGET_DIR})
|
|
||||||
INC = -I.
|
|
||||||
include $(TARGET_DIR)/build/includes.mk
|
|
||||||
|
|
||||||
SRC =
|
SRC =
|
||||||
include $(TARGET_DIR)/build/sources.mk
|
-include $(TARGET_DIR)/build/sources.mk
|
||||||
|
|
||||||
|
INC = -I./
|
||||||
|
-include $(TARGET_DIR)/build/includes.mk
|
||||||
|
|
||||||
# C source files
|
# C source files
|
||||||
CFILES = $(filter %.c, $(SRC))
|
CFILES = $(filter %.c, $(SRC))
|
||||||
@@ -63,7 +60,7 @@ OBJ = $(SOBJ) $(COBJ)
|
|||||||
$(info CFILES : ${CFILES})
|
$(info CFILES : ${CFILES})
|
||||||
|
|
||||||
# Flags
|
# Flags
|
||||||
CFLAGS = $(MCFLAGS) $(DEBUG) $(OPTIMIZE) -MP -MMD -std=gnu11
|
CFLAGS = $(MCFLAGS) $(DEBUG) $(OPTIMIZE) -MP -MMD -std=gnu11 -DGT_CPU_CYCLE_SCALE=1.33
|
||||||
ASFLAGS = $(MCFLAGS) $(DEBUG) $(OPTIMIZE) -MP -MMD -x assembler-with-cpp
|
ASFLAGS = $(MCFLAGS) $(DEBUG) $(OPTIMIZE) -MP -MMD -x assembler-with-cpp
|
||||||
ODFLAGS = --source --all-headers --demangle --line-numbers --wide
|
ODFLAGS = --source --all-headers --demangle --line-numbers --wide
|
||||||
|
|
||||||
|
|||||||
12
aufg6_tabelle_soll_ist.txt
Normal file
12
aufg6_tabelle_soll_ist.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
i delay soll zeit
|
||||||
|
0 1 0.1ms 0.067ms
|
||||||
|
1 2 0.2ms 0.142ms
|
||||||
|
2 4 0.4ms 0.292ms
|
||||||
|
3 8 0.8ms 0.592ms
|
||||||
|
4 16 1.6ms 1.193ms
|
||||||
|
5 32 3.2ms 2.394ms
|
||||||
|
6 64 6.4ms 4.797ms
|
||||||
|
7 128 12.8ms 9.601ms
|
||||||
|
8 256 25.6ms 19.211ms
|
||||||
|
9 512 51.2ms 38.430ms
|
||||||
|
|
||||||
2601
feedgnuplot
Executable file
2601
feedgnuplot
Executable file
File diff suppressed because it is too large
Load Diff
@@ -21,14 +21,13 @@ INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/drivers/ucos_emacps/src"
|
|||||||
INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/drivers/ucos_scuc/src"
|
INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/drivers/ucos_scuc/src"
|
||||||
INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/drivers/ucos_ttcps/src"
|
INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/drivers/ucos_ttcps/src"
|
||||||
|
|
||||||
|
INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/components/ucos_standalone/src/cortexa9"
|
||||||
INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/components/ucos_standalone/src/cortexa9/gcc"
|
INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/components/ucos_standalone/src/cortexa9/gcc"
|
||||||
INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/components/ucos_standalone/src/common"
|
INC += -I"$(SRC_DIR)/ucos_v1_42/ucos/components/ucos_standalone/src/common"
|
||||||
|
|
||||||
INC += -I"$(SRC_DIR)/Xilinx/libsrc/ipipsu_v2_3/src/"
|
INC += -I"$(SRC_DIR)/Xilinx/libsrc/ipipsu_v2_3/src/"
|
||||||
INC += -I"$(SRC_DIR)/Modules/MMU"
|
INC += -I"$(SRC_DIR)/Modules/MMU"
|
||||||
|
|
||||||
INC += -I"$(SRC_DIR)/Xilinx/include/"
|
|
||||||
|
|
||||||
|
|
||||||
INC += -I"$(SRC_DIR)/Xilinx/libsrc/ipipsu_v2_3/src/"
|
INC += -I"$(SRC_DIR)/Xilinx/libsrc/ipipsu_v2_3/src/"
|
||||||
|
|
||||||
|
|||||||
BIN
src/APP/Aufgabe4/ps7/core0/src/.imu.c.swp
Normal file
BIN
src/APP/Aufgabe4/ps7/core0/src/.imu.c.swp
Normal file
Binary file not shown.
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
void InitDoneCallback(void * p_arg) {
|
void InitDoneCallback(void * p_arg) {
|
||||||
(void) p_arg;
|
(void) p_arg;
|
||||||
UCOS_Print("OS started!\r\n");
|
//UCOS_Print("OS started!\r\n");
|
||||||
GT_Init();
|
GT_Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,11 +14,11 @@
|
|||||||
|
|
||||||
#include <string.h> /* memset */
|
#include <string.h> /* memset */
|
||||||
|
|
||||||
#define TASK_A_PRIO 11
|
#define TASK_A_PRIO 10
|
||||||
#define TASK_B_PRIO
|
#define TASK_B_PRIO 11
|
||||||
#define TASK_C_PRIO
|
#define TASK_C_PRIO 12
|
||||||
#define TASK_D_PRIO
|
#define TASK_D_PRIO 13
|
||||||
#define TASK_E_PRIO
|
#define TASK_E_PRIO 14
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ GT_TASK_EXT_T GT_AllTasks[GT_NUM_OF_TASKS] = {
|
|||||||
/* Period Jitter Distance BCET WCET */
|
/* Period Jitter Distance BCET WCET */
|
||||||
{20, 0, 0, {5, 10}},
|
{20, 0, 0, {5, 10}},
|
||||||
{10, 0, 0, {1, 2}},
|
{10, 0, 0, {1, 2}},
|
||||||
{100, 0, 0, {2, 2}},
|
{100, 0, 0, {2, 2}},
|
||||||
{50, 0, 0, {2, 10}},
|
{50, 0, 0, {2, 10}},
|
||||||
{200, 0, 0, {2, 5}},
|
{200, 0, 0, {2, 5}},
|
||||||
};
|
};
|
||||||
@@ -72,26 +72,151 @@ void _taskFinished(void){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void task0_start(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task1_start(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task2_start(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task3_start(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task4_start(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
|
||||||
|
void task0_act(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task1_act(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task2_act(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task3_act(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task4_act(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
|
||||||
|
void task0_switch(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task1_switch(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task2_switch(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task3_switch(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task4_switch(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
|
||||||
|
void task0_end(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task1_end(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task2_end(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task3_end(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
void task4_end(){
|
||||||
|
asm("nop");
|
||||||
|
}
|
||||||
|
|
||||||
void GT_TaskActivationHook(GT_TASK_T *pMyOwnTask) {
|
void GT_TaskActivationHook(GT_TASK_T *pMyOwnTask) {
|
||||||
|
if(pMyOwnTask == >_Tasks[0]){
|
||||||
|
task0_act();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[1]){
|
||||||
|
task1_act();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[2]){
|
||||||
|
task2_act();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[3]){
|
||||||
|
task3_act();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[4]){
|
||||||
|
task4_act();
|
||||||
|
}
|
||||||
//call _taskActivated
|
//call _taskActivated
|
||||||
}
|
}
|
||||||
|
|
||||||
void GT_TaskStartHook(GT_TASK_T *pMyOwnTask) {
|
void GT_TaskStartHook(GT_TASK_T *pMyOwnTask) {
|
||||||
|
if(pMyOwnTask == >_Tasks[0]){
|
||||||
|
task0_start();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[1]){
|
||||||
|
task1_start();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[2]){
|
||||||
|
task2_start();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[3]){
|
||||||
|
task3_start();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[4]){
|
||||||
|
task4_start();
|
||||||
|
}
|
||||||
//call _taskStarted
|
//call _taskStarted
|
||||||
}
|
}
|
||||||
|
|
||||||
void GT_TaskEndHook(GT_TASK_T *pMyOwnTask){
|
void GT_TaskEndHook(GT_TASK_T *pMyOwnTask){
|
||||||
|
if(pMyOwnTask == >_Tasks[0]){
|
||||||
|
task0_end();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[1]){
|
||||||
|
task1_end();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[2]){
|
||||||
|
task2_end();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[3]){
|
||||||
|
task3_end();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[4]){
|
||||||
|
task4_end();
|
||||||
|
}
|
||||||
|
|
||||||
//Call _taskFinished
|
//Call _taskFinished
|
||||||
}
|
}
|
||||||
|
|
||||||
void GT_TaskInitHook(GT_TASK_T *pMyOwnTask){
|
void GT_TaskInitHook(GT_TASK_T *pMyOwnTask){
|
||||||
if(pMyOwnTask->Id == 4){
|
//if(pMyOwnTask->Id == 4){
|
||||||
UCOS_Print("Init Task\n");
|
// UCOS_Print("Init Task\n");
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GT_TaskSwHook(GT_TASK_T *pMyOwnTask) {
|
void GT_TaskSwHook(GT_TASK_T *pMyOwnTask) {
|
||||||
//call Task scheduled or not
|
//call Task scheduled or not
|
||||||
|
if(pMyOwnTask == >_Tasks[0]){
|
||||||
|
task0_switch();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[1]){
|
||||||
|
task1_switch();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[2]){
|
||||||
|
task2_switch();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[3]){
|
||||||
|
task3_switch();
|
||||||
|
}
|
||||||
|
if(pMyOwnTask == >_Tasks[4]){
|
||||||
|
task4_switch();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GT_TaskMissHook(GT_TASK_T *pMyOwnTask){
|
void GT_TaskMissHook(GT_TASK_T *pMyOwnTask){
|
||||||
|
|||||||
Reference in New Issue
Block a user