From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../mi2/Termin4/.snprj/Termin4.1 | 0 .../mi2/Termin4/.snprj/Termin4.cl | Bin 0 -> 8192 bytes .../mi2/Termin4/.snprj/Termin4.f | Bin 0 -> 8192 bytes .../mi2/Termin4/.snprj/Termin4.fil | Bin 0 -> 40960 bytes .../mi2/Termin4/.snprj/Termin4.fu | Bin 0 -> 8192 bytes .../mi2/Termin4/.snprj/Termin4.icl | Bin 0 -> 8192 bytes .../mi2/Termin4/.snprj/Termin4.iu | Bin 0 -> 8192 bytes .../mi2/Termin4/.snprj/Termin4.iv | Bin 0 -> 8192 bytes .../mi2/Termin4/.snprj/Termin4.ma | Bin 0 -> 28672 bytes .../mi2/Termin4/.snprj/tmp_0mEBrK | 1 + .../mi2/Termin4/Interface.pdf | Bin 0 -> 293979 bytes .../Mikroprozessorsysteme2/mi2/Termin4/Termin4.pdf | Bin 0 -> 153508 bytes .../mi2/Termin4/Termin4Aufgabe1.c | 80 +++++++++++++++++++++ .../mi2/Termin4/Termin4Aufgabe4.c | 39 ++++++++++ .../mi2/Termin4/frank_micsys2_praktikum04.zip | Bin 0 -> 25712 bytes .../Mikroprozessorsysteme2/mi2/Termin4/makefile | 51 +++++++++++++ .../Mikroprozessorsysteme2/mi2/Termin4/makefile1 | 12 ++++ .../Mikroprozessorsysteme2/mi2/Termin4/makefile4 | 15 ++++ 18 files changed, 198 insertions(+) create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.1 create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.cl create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.f create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fil create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fu create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.icl create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iu create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iv create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.ma create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/tmp_0mEBrK create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Interface.pdf create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4.pdf create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe1.c create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe4.c create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/frank_micsys2_praktikum04.zip create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile1 create mode 100644 Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile4 (limited to 'Bachelor/Mikroprozessorsysteme2/mi2/Termin4') diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.1 b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.1 new file mode 100644 index 0000000..e69de29 diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.cl b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.cl new file mode 100644 index 0000000..04a5f36 Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.cl differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.f b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.f new file mode 100644 index 0000000..d1a2701 Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.f differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fil b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fil new file mode 100644 index 0000000..8f1e98e Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fil differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fu b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fu new file mode 100644 index 0000000..34796cc Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fu differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.icl b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.icl new file mode 100644 index 0000000..cf812bc Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.icl differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iu b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iu new file mode 100644 index 0000000..2de75ea Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iu differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iv b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iv new file mode 100644 index 0000000..b754796 Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iv differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.ma b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.ma new file mode 100644 index 0000000..bb2cf2c Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.ma differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/tmp_0mEBrK b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/tmp_0mEBrK new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/tmp_0mEBrK @@ -0,0 +1 @@ + diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Interface.pdf b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Interface.pdf new file mode 100644 index 0000000..00b5d6c Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Interface.pdf differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4.pdf b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4.pdf new file mode 100644 index 0000000..5c9def3 Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4.pdf differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe1.c b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe1.c new file mode 100644 index 0000000..67b220d --- /dev/null +++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe1.c @@ -0,0 +1,80 @@ +// Lösung zur Aufgabe Termin4 +// Aufgabe 1 +//**************************** +// Zeiger auf Peripherie +// Messen der Periodendauer einer angelegten Frequenz +// +// von: Manfred Pester +// vom: 06. August 2003 + +#include "../h/pio.h" +#include "../h/tc.h" +#include "../h/pmc.h" + +// für die Initialisierung des Zähler TC4 + +#define TC4_INIT TC_CLKS_MCK2 | TC_LDBSTOP | TC_CAPT | TC_LDRA_RISING_EDGE | TC_LDRB_RISING_EDGE + + +int main(void) +{ + volatile int captureRA1; + volatile int captureRB1; + volatile int capturediff1; + volatile float Periodendauer1; + volatile int captureRA2; + volatile int captureRB2; + volatile int capturediff2; + volatile float Periodendauer2; + volatile int c1=18030/1.09; + volatile int c2=40; + volatile float masse; + + StructPMC* pmcbase = PMC_BASE; + StructPIO* piobaseA = PIOA_BASE; + StructPIO* piobaseB = PIOB_BASE; + StructTC* tcbase4 = TCB4_BASE; + StructTC* tcbase5 = TCB5_BASE; + + pmcbase->PMC_PCER = 0x06f80; // Clock PIOA, PIOB, Timer5, Timer4, Timer1 einschalten + +// Periodendauer der Waagensignale messen +// Signal aud TIOA4 ca. 16kHz entspricht ca. einer Periodendauer von 62,5us +// durch den Teiler von 32 ergeben sich ca. 2ms +// Zähler mit positiver Flanke starten + + //piobaseA->PIO_PDR = 0x090; + piobaseA->PIO_PDR = (1<TC_CCR = TC_CLKDIS; + tcbase4->TC_CMR = TC4_INIT; + tcbase4->TC_CCR = TC_CLKEN; + tcbase4->TC_CCR = TC_SWTRG; + + tcbase5->TC_CCR = TC_CLKDIS; + tcbase5->TC_CMR = TC4_INIT; + tcbase5->TC_CCR = TC_CLKEN; + tcbase5->TC_CCR = TC_SWTRG; + + piobaseB-> PIO_PER = KEY3; + + while(piobaseB->PIO_PDSR & KEY3) + { + tcbase4->TC_CCR = TC_SWTRG; + tcbase5->TC_CCR = TC_SWTRG; + while (!( tcbase4->TC_SR & TC_LDBSTOP)); // Capture Register B wurde geladen Messung abgeschlossen + captureRA1 = tcbase4->TC_RA; // + captureRB1 = tcbase4->TC_RB; + capturediff1 = abs(captureRB1) - abs(captureRA1); + Periodendauer1 = abs(capturediff1) / 12.5; // Zeit in us + while (!( tcbase5->TC_SR & TC_LDBSTOP)); // Capture Register B wurde geladen Messung abgeschlossen + captureRA2 = tcbase5->TC_RA; // + captureRB2 = tcbase5->TC_RB; + capturediff2 = abs(captureRB2) - abs(captureRA2); + Periodendauer2 = abs(capturediff2) / 12.5; // Zeit in us + + masse = c1 * ((Periodendauer1 / Periodendauer2) -1) -c2; + + } + + return 0; +} diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe4.c b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe4.c new file mode 100644 index 0000000..7871155 --- /dev/null +++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe4.c @@ -0,0 +1,39 @@ +// Lösung zur Aufgabe Termin4 +// Aufgabe 4 +//**************************** +// Zeiger auf Peripherie +// Messen der aufgelegten Masse +// +// von: Manfred Pester +// vom: 06. August 2003 + +#include "../h/pio.h" +#include "../h/tc.h" +#include "../h/pmc.h" + + +void PIO_Init(void) +{ + +} + +void Timer_Init(void) +{ + +} + +int main(void) +{ + + volatile int Masse; + + PIO_Init(); + Timer_Init(); + + while(!(piobaseA->PIO_ODSR & KEY3)) + { + Masse = MessungderMasse(); + } + + return 0; +} diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/frank_micsys2_praktikum04.zip b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/frank_micsys2_praktikum04.zip new file mode 100644 index 0000000..334a402 Binary files /dev/null and b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/frank_micsys2_praktikum04.zip differ diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile new file mode 100644 index 0000000..596ef49 --- /dev/null +++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile @@ -0,0 +1,51 @@ +FILE = Termin4Aufgabe1 +Opti = 0 +all: + +# Übersetzen der Quelldatei + arm-elf-gcc -c -g -O$(Opti) $(FILE).c -I ../h + +# Erzeugen der Assemblerdatei aus der Quelldatei + arm-elf-gcc -S -o$(Opti) $(FILE).c -I ../h + +# Erzeugen der benötitgen Objektdateien + arm-elf-gcc -c -g -O$(Opti) ../boot/swi.S -o swi.o -I ../h + arm-elf-gcc -c -g -O$(Opti) ../boot/boot_ice.S -o boot_ice.o -I ../h + arm-elf-gcc -c -g -O$(Opti) ../boot/boot_flash.S -o boot_flash.o -I ../h +# arm-elf-gcc -c -g -O$(Opti) seriell.S -I ../h +# arm-elf-gcc -c -g -O$(Opti) ser_io.S -I ../h + +# Binden für die RAM-Version +# arm-elf-ld -Ttext 0x02000000 -O$(Opti) boot_ice.o swi.o $(FILE).o -o $(FILE).elf /gnutools/lib/gcc-lib/arm-elf/3.3.2/libgcc.a + arm-elf-ld -Ttext 0x02000000 -O$(Opti) boot_ice.o swi.o $(FILE).o -o $(FILE).elf + +# Linkerskripte noch nicht getestet +# arm-elf-ld -T ldscript.ram boot.o swi.o seriell.o ser_io.o swi.o $(FILE).o -o $(FILE).elf /gnutools/lib/gcc-lib/arm-elf/3.2.2/libgcc.a + +# Binden für die FLASH-Version +# arm-elf-ld -Ttext 0x1000000 boot_flash.o swi.o $(FILE).o -o $(FILE).out /gnutools/lib/gcc-lib/arm-elf/3.3.2/libgcc.a + arm-elf-ld -Ttext 0x1000000 boot_flash.o swi.o $(FILE).o -o $(FILE).out + +# Linkerskripte noch nicht getestet +# arm-elf-ld -T ldscript.rom boot.o seriell.o ser_io.o swi.o $(FILE).o -o $(FILE).out /gnutools/lib/gcc-lib/arm-elf/3.2.2/libgcc.a + +# -I --input-target Assume input file is in format +# -O --output-target Create an output file in format +# -S --strip-all Remove all symbol and relocation information +# -x --discard-all Remove all non-global symbols +# -N --strip-symbol Do not copy symbol +# -O --output-target Create an output file in format +# -g --strip-debug Remove all debugging symbols + arm-elf-objcopy -I elf32-littlearm -O binary -x -S -N -g $(FILE).out $(FILE).rom +# programm.rom nach /tftpboot/downlaod.bin kopieren +# Jumper E7 muß auf STD stecken +# Mit mit dem BDI2000 verbinden. +# mit flash-Bereich löschen +# mit Programm ins flash schreiben. +# +# +clean: + rm *.o + rm *.s + rm *.elf + rm *.rom \ No newline at end of file diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile1 b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile1 new file mode 100644 index 0000000..dbc718e --- /dev/null +++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile1 @@ -0,0 +1,12 @@ +FILE = Termin4Aufgabe1 +Opti = 1 +all: +# Übersetzen der Quelldatei + arm-elf-gcc -c -g -O$(Opti) $(FILE).c -I ../h +# Erzeugen der Assemblerdatei aus der Quelldatei + arm-elf-gcc -S -o$(Opti) $(FILE).c + arm-elf-gcc -c -g -O$(Opti) ../boot/swi.S -o swi.o + arm-elf-gcc -c -g -O$(Opti) ../boot/boot.S -o boot.o +# Binden für die RAM-Version + arm-elf-ld -Ttext 0x02000000 -O$(Opti) boot.o swi.o $(FILE).o -o $(FILE).elf /gnutools/lib/gcc-lib/arm-elf/3.2.2/libgcc.a + diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile4 b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile4 new file mode 100644 index 0000000..b878e6d --- /dev/null +++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile4 @@ -0,0 +1,15 @@ +FILE = Termin4Aufgabe4 +Opti = 1 +all: +# Übersetzen der Quelldatei + arm-elf-gcc -c -g -O$(Opti) $(FILE).c -I ../h +# Erzeugen der Assemblerdatei aus der Quelldatei + arm-elf-gcc -S -o$(Opti) $(FILE).c + arm-elf-gcc -c -g -O$(Opti) ../boot/swi.S -o swi.o + arm-elf-gcc -c -g -O$(Opti) ../boot/boot.S -o boot.o +# Binden für die RAM-Version + arm-elf-ld -Ttext 0x02000000 -O$(Opti) boot.o swi.o $(FILE).o -o $(FILE).elf /gnutools/lib/gcc-lib/arm-elf/3.2.2/libgcc.a +# Binden für die FLASH-Version + arm-elf-ld -Ttext 0x01000000 -O$(Opti) boot.o swi.o $(FILE).o -o $(FILE).out /gnutools/lib/gcc-lib/arm-elf/3.2.2/libgcc.a + arm-elf-objcopy -I elf32-littlearm -O binary -x -S -N -g $(FILE).out $(FILE).rom + -- cgit v1.2.3