summaryrefslogtreecommitdiffstats
path: root/Bachelor/Mikroprozessorsysteme2/mi2/Termin4
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Bachelor/Mikroprozessorsysteme2/mi2/Termin4
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Bachelor/Mikroprozessorsysteme2/mi2/Termin4')
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.10
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.clbin0 -> 8192 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fbin0 -> 8192 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.filbin0 -> 40960 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fubin0 -> 8192 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iclbin0 -> 8192 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iubin0 -> 8192 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.ivbin0 -> 8192 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.mabin0 -> 28672 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/tmp_0mEBrK1
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Interface.pdfbin0 -> 293979 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4.pdfbin0 -> 153508 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe1.c80
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4Aufgabe4.c39
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/frank_micsys2_praktikum04.zipbin0 -> 25712 bytes
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile51
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile112
-rw-r--r--Bachelor/Mikroprozessorsysteme2/mi2/Termin4/makefile415
18 files changed, 198 insertions, 0 deletions
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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.1
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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.cl
Binary files 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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.f
Binary files 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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fil
Binary files 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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.fu
Binary files 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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.icl
Binary files 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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iu
Binary files 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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.iv
Binary files 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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/.snprj/Termin4.ma
Binary files 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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Interface.pdf
Binary files differ
diff --git a/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4.pdf b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4.pdf
new file mode 100644
index 0000000..5c9def3
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/Termin4.pdf
Binary files 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<<PIOTIOA4)|(1<<PIOTIOA5);
+ tcbase4->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
--- /dev/null
+++ b/Bachelor/Mikroprozessorsysteme2/mi2/Termin4/frank_micsys2_praktikum04.zip
Binary files 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 <bfdname> Assume input file is in format <bfdname>
+# -O --output-target <bfdname> Create an output file in format <bfdname>
+# -S --strip-all Remove all symbol and relocation information
+# -x --discard-all Remove all non-global symbols
+# -N --strip-symbol <name> Do not copy symbol <name>
+# -O --output-target <bfdname> Create an output file in format <bfdname>
+# -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 <cp name.rom /tftpboot/download.bin>
+# Jumper E7 muß auf STD stecken
+# Mit <telnet 141.100.xxx.xxx> mit dem BDI2000 verbinden.
+# mit <erase 0x1100000> flash-Bereich löschen
+# mit <prog 0x1100000 download.bin bin> 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
+