[PSP] Vorbereitung.

[TI] Einführung in die Technische Informatik
[BuS] Betriebssysteme und Systemsoftware
[PSP] Praktikum Systemprogrammierung
[DakS] Datenkommunikation und Sicherheit

Vorbereitung.

Beitragvon LonliLokli » 14.08.08 01:14

Ich will zur Abweschlung (von LA), mal mich auf das bevorstehende HWP vorbereiten (ich fand das EGI, als die stressigste Veranstaltung in diesem Semester). Ich habe momentan die Aufgaben von letzten Praktikum(2007).

2 Fragen:
-Gibt's noch Zugang zum Microkontroller?
-in wie fern werden die Aufgaben dieses Jahr von alten abweichen?
LonliLokli
 
Beiträge: 337
Registriert: 06.07.07 19:28
Wohnort: Aachen
Studiengang: Informatik (M.Sc.)
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon LonliLokli » 14.08.08 01:27

1.Frage hat sich erledigt: da wird an ATmega16 verwendet.
LonliLokli
 
Beiträge: 337
Registriert: 06.07.07 19:28
Wohnort: Aachen
Studiengang: Informatik (M.Sc.)
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon MartinL » 14.08.08 10:15

Nein afaik wird dieses Jahr der Mega644 verwendet. Das HNP Praktikum war eigentlich der Hauptgrund warum der Bestand im Praktikumsraum auf 644's umgestellt wurde. Die Mega16's haben lediglich 1kb Hauptspeicher und wenn man davon 512 Byte als Heap nutzen möchte bleiben für die restlichen Stacks nurnoch 512 Byte übrig. Wenn man dann noch den OS Stack (ISR/Scheduler etc) draufrechnet blieb insgesamt nichtmehr viel für die Anwendungstasks übrig, so dass bereits mit 6 Tasks die Stacks so klein waren, dass man regelmäßig Probleme mit Stack Overflows hatte. Wie du sicher weist, wenn du dieses Semester bereits damit gearbeitet hast, hat der 644 n gutes Stück mehr RAM, so dass man hier weniger Probleme mit sowas bekommt.

Von den Aufgaben her werden diese wohl etwas überarbeitet worden sein, aber die grundsätzliche Aufgabenstellung des Praktikums: Implementierung eines kleinen OS mit preemtive Scheduler ist die gleiche geblieben. Wenn du dich schonmal ein bisschen mit der Funktionsweise eines Schedulers oder eigenen Stacks für die Tasks auseinandersetzt kannst du sicher nichts falsch machen. An der Grundfunktionsweise ändert sich eigentlich garnichts - außer dass vielleichtbeim 644 manche Register ein bisschen anders heißen.

Gruß,

Martin
MartinL
 
Beiträge: 531
Registriert: 23.01.07 20:48
Studiert seit: WS 06/07
Anwendungsfach: Mathe

Beitragvon LonliLokli » 14.08.08 10:44

MartinL hat geschrieben:Nein afaik wird dieses Jahr der Mega644 verwendet. Das HNP Praktikum war eigentlich der Hauptgrund warum der Bestand im Praktikumsraum auf 644's umgestellt wurde. Die Mega16's haben lediglich 1kb Hauptspeicher und wenn man davon 512 Byte als Heap nutzen möchte bleiben für die restlichen Stacks nurnoch 512 Byte übrig. Wenn man dann noch den OS Stack (ISR/Scheduler etc) draufrechnet blieb insgesamt nichtmehr viel für die Anwendungstasks übrig, so dass bereits mit 6 Tasks die Stacks so klein waren, dass man regelmäßig Probleme mit Stack Overflows hatte. Wie du sicher weist, wenn du dieses Semester bereits damit gearbeitet hast, hat der 644 n gutes Stück mehr RAM, so dass man hier weniger Probleme mit sowas bekommt.

Von den Aufgaben her werden diese wohl etwas überarbeitet worden sein, aber die grundsätzliche Aufgabenstellung des Praktikums: Implementierung eines kleinen OS mit preemtive Scheduler ist die gleiche geblieben. Wenn du dich schonmal ein bisschen mit der Funktionsweise eines Schedulers oder eigenen Stacks für die Tasks auseinandersetzt kannst du sicher nichts falsch machen. An der Grundfunktionsweise ändert sich eigentlich garnichts - außer dass vielleichtbeim 644 manche Register ein bisschen anders heißen.

Gruß,

Martin


Das habe ich mir auch gedacht. Aber, wie gesagt, will ich dieses Mal den Stress vermeiden und mal bisschen im vorraus etwas dafür zu tun.

Leider fehlen mir momentan die grundgerüst dateien. Würde mich sehr freuen, wenn jemand eine Kopie an mich schicken würde, bzw. in "Students only" für alle interessierende Zugänglich machen.

bedanke mich im voraus.
PS mail per pm.
LonliLokli
 
Beiträge: 337
Registriert: 06.07.07 19:28
Wohnort: Aachen
Studiengang: Informatik (M.Sc.)
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon blightzero » 14.08.08 11:19

Ich könnte meine Lösung des HWP von letztem Jahr gerne mal hochladen, allerdings bin ich mir nicht ganz sicher ob ich das darf, die Grundgerüstdateien sind ja eigentlich vom Lehrstuhl und ich weiß nicht ob die wollen das man die Sachen verbreitet.
blightzero
 
Beiträge: 66
Registriert: 13.12.06 17:19
Wohnort: Aachen

Beitragvon NeX » 14.08.08 11:41

also nur die aufgabeblätter sind wohl das maximum...

ich denke nicht das lösungen verbreitet werden dürfen....

der lehrstuhl geht bei plagiaten o.Ä. sehr radikal vor...
Don't think about....Just do it!
Benutzeravatar
NeX
 
Beiträge: 550
Registriert: 18.10.07 16:03
Wohnort: Mönchengladbach
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 08/09
Anwendungsfach: BWL

Beitragvon MartinL » 14.08.08 12:16

Wenn ich mich recht enzinne dann gab es sowieso kaum Grundgerüste. Das einzige was mitgeliefert wurde (was ihr aber haben dürftet) war die Bibliothek zur Ansteuerung des LC-Displays. Ansonsten steht das Interface der gewünschten Betriebssystemfunktionen ja auch in den Aufgabenstellungen.

Wenn du dich vorbereiten willst, dann Versuch einfach mal preemtiven Scheduler auf der MCU Umzusetzen der z.B. 9 Tasks Auf 9 Stacks verteilen kann und 1 Stack für das System/ISR bereit hält.
Wenn du die nötigen Kenntnisse erwirbst um die Timerhardware zu konfigurieren und die Register der Prozesse auf ihren jeweiligen Stacks zu sichern und wiederherzustellen hast du schonmal die Grundprinzipien die benötigt werden zusammen.
Darüber hinaus kannst du dir mal Gedanken über Funktionen machen die zur Laufzeit neue Tasks hinzufügen oder aus dem Scheduler entfernen. Oder auch mal wie Tasks sich selbst beenden können - mit etwas nachdenken lässt es sich auch erreichen, dass ein Task automatisch mit dem Aussprung aus der TaskMain() Funktion aus dem Scheduling entfernt wird.

Wenn du dir sicher bist all diese Prinzipien verstanden zu haben kannst du mal ein wenig mit dynamischer Speicherverwaltung herumspielen. Du kannst dich mit Hardwarenahen Zeigern auf den MCU's anfreunden und -falls du damit noch nicht so oft in Berührung gekommen bist - an dieser Stelle das Zeigerkonzept etwas verinnerlichen.

Das ist in meinen Augen dann schon jede Menge Stoff und auch wenn deine Implementierung nun wahrscheinlich - wenn überhaupt - nur Stückweise in den wirklichen Code der Praktikumsaufgaben eingearbeitet werden kann wird dir das Praktikum doch sicherlich leichter Fallen, wenn du dir das Grundwissen dazu bereits jetzt erarbeitet hast.

Deshalb ist mein Vorschlag an dieser Stelle einfach mal die Grundprinzipien auszuprobieren, denn oftmals hakt es halt im Konkreten Umgang mit der Hardware.
-Wie werden Register gesichert?
-Wie Manipuliert man den Stackpointer?
-Wie wird der PC manipuliert?
-Wann müssen Interrupts ein/ausgeschaltet werden? Wie geht das?
-Wie konfiguriert man die Timer Hardware und Interrupts?
-Wie greift man auf den Speicher zu? Wohin darf man zugreifen ohne etwas zu zerschießen?

so far
Martin
MartinL
 
Beiträge: 531
Registriert: 23.01.07 20:48
Studiert seit: WS 06/07
Anwendungsfach: Mathe

Beitragvon DominikP » 15.08.08 23:45

Zu Beginn wurde nach der Hardware gefragt.
Ist diese denn nun noch verfügbar oder nicht?

Ansonsten hatte ich überlegt mir mit eienr Gruppe Kommilitonen so'n Ding mal anzuschaffen.
Sooooo überteuer sind die nun auch wieder nicht und wenn man Spaß dran hat kann man auch später privat noch damit "rumbasteln".....
Hat jemand die Liste der benötigten Sachen für das Board, auf dem der Controller sitzt? Herr Stollenwerk hat mal erwähnt das wäre letztes oder vorletztes Semester veröffentlicht worden......
Klein-\varphi macht auch Mist....
DominikP
 
Beiträge: 242
Registriert: 12.11.07 21:29
Wohnort: Aachen, vorher Korschenbroich bei MG
Studiengang: Informatik (M.Sc.)
Studiert seit: WS 07/08
Anwendungsfach: BWL

Beitragvon fw » 16.08.08 00:11

DominikP hat geschrieben:Hat jemand die Liste der benötigten Sachen [..] letztes oder vorletztes Semester veröffentlicht worden......

Wenn du doch offensichtlich schon weisst, dass die Sachen, die du haben willst, hier zu finden sind, warum fragst du dann noch danach?
Benutzeravatar
fw
 
Beiträge: 1356
Registriert: 17.05.06 19:37
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: Mathe

Beitragvon MartinL » 16.08.08 00:58

Also wenn ich das richtig gesehen hab wurde ein MCU Board im RBI Aufgestellt und sollte wohl auch dort insbesondere für das HNP Praktikum stehen bleiben, da die HNP Aufgaben doch um einiges anspruchvoller sind als die EGI Aufgaben was den Mikrocontroller angeht.
MartinL
 
Beiträge: 531
Registriert: 23.01.07 20:48
Studiert seit: WS 06/07
Anwendungsfach: Mathe

Beitragvon O.D. » 16.08.08 16:32

Ja, ein Board steht samt PC bereits im zum 4U18 benachbarten Poolraum. Er ist auch bereits jetzt schon zugänglich.
Bei entsprechendem Andrang im Semester könnte da noch ein weiterer PC und ein Par weitere Boards (zum Programmieren braucht man schließlich nur ein Laptop mit USB-Port) hinzukommen.

Der benutzte µC ist ein ATmega644 (mit 4k SRAM) anstatt eines ATmega16 (mit 1k SRAM) wie im vergangenen Jahr.

Zum hochladen von Code sag' ich mal nicht viel. Nur so viel: Plagiate sind kein Kavaliersdelikt und können in schweren Fällen sogar zur Anzeige führen (nicht nur zur Exmatrikulation).
Darüberhinaus liegt das Urheberrecht einiger Dateien (nämlich die, die bereitgestellt wurden) beim Lehrstuhl.
I can hear deaf people!
Benutzeravatar
O.D.
 
Beiträge: 745
Registriert: 05.08.06 19:31
Wohnort: Aachen & Minden
Studiengang: Informatik (M.Sc.)
Anwendungsfach: Physik

Beitragvon cracki » 16.08.08 17:13

O.D. hat geschrieben:Zum hochladen von Code sag' ich mal nicht viel. Nur so viel: Plagiate sind kein Kavaliersdelikt und können in schweren Fällen sogar zur Anzeige führen (nicht nur zur Exmatrikulation).
Darüberhinaus liegt das Urheberrecht einiger Dateien (nämlich die, die bereitgestellt wurden) beim Lehrstuhl.


vielleicht sollte der lehrstuhl mal DRM-faehige mikrokontroller entwickeln oder den schaeuble einladen.

wir sollen hier lernen und uns nicht vor exmatrikulation und knast fuerchten.

plagiate sind ne bloede sache. wer sowas abzieht, gehoert schon bestraft, meinetwegen mit sofortigem nichtbestehen des praktikums.

wenn aber einer mal so ungeschickt sein sollte, den code eines freundes hochzuladen (weil man sich vielleicht gegenseitig hilft und code austauscht), dann sollte das nicht gleich solche folgen haben, wenn man seinen selbstproduzierten code hochgeladen hat. auf dem upload-portal kann man naemlich keine aus versehen hochgeladenen dateien wieder loeschen.

zum urheberrecht der materialien vom lehrstuhl: es schadet niemandem, wenn die den kram unter einer lizenz wie z.b. Creative Commons oder MIT license fuer alle zugaenglich machen. hier gehts ja ums lernen und nicht darum, ob man an der RWTH eingeschrieben ist.

ich denke, dass hier ein bisschen zu leicht mit dem holzhammer geschwungen wird.
"I suppose if what you said had any merit it would occasion hostility." -- Kenny Tilton
Frische Vorlesungen! -- video.rwth-aachen.de
Benutzeravatar
cracki
 
Beiträge: 537
Registriert: 22.02.08 14:51
Wohnort: Aachen
Studiengang: Informatik (M.Sc.)
Studiert seit: ?
Anwendungsfach: Medizin

Beitragvon O.D. » 16.08.08 17:54

Desswegen habe ich ja gesagt: "in schweren Fällen". Man könnte noch das Wort "eindeutig" ergänzen.

Zu Deinem Ungeschicklichkeitsargument; Wieso sollte man den Quelltext eines Freundes a) besitzen und b) auchnoch hochladen?
Dagegen sich zu helfen spricht nichts, aber der Austausch von Quelltext ist einem Betrungsversuch schon sehr nah.
Ich spreche ja nicht von einer Zeile, sondern von größeren Ausschnitten.

Eigentlich sagt einem ja auch der gesunde Menschenverstand, dass man nichts lernt, wenn man die Arbeit von anderen kopiert. Daher verstehe ich Deine Entrüstung auch nicht.
I can hear deaf people!
Benutzeravatar
O.D.
 
Beiträge: 745
Registriert: 05.08.06 19:31
Wohnort: Aachen & Minden
Studiengang: Informatik (M.Sc.)
Anwendungsfach: Physik

Beitragvon fw » 16.08.08 19:51

O.D. hat geschrieben:Wieso sollte man den Quelltext eines Freundes (..) besitzen

Wieso sollte man den nicht haben dürfen? Es gibt (imho) keine bessere Möglichkeit programmieren zu lernen (und das gilt auch für Mikrocontroller) als den Quellcode von anderen zu lesen oder zu verstehen und zu erweitern, etc.. (Wer ungeänderte Kopien hochlädt ist aber natürlich selbst Schuld)

Dass letztes Semester scheinbar Leute direkt beim ersten Versuch rausgeschmissen wurden nur weil gruppenübergreifend zusammengearbeitet wurde find ich unglaublich übertrieben bis lächerlich... In solchen Situationen sollte man einfach etwas genauer auf die Gruppen schauen und feststellen, ob jeder in der Gruppe alles verstanden hat. Wenn ja, gibt es aus meiner Sicht überhaupt kein Problem..
Benutzeravatar
fw
 
Beiträge: 1356
Registriert: 17.05.06 19:37
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: Mathe

Beitragvon MartinL » 16.08.08 20:50

Also ehrlichgesagt, glaub ich dass hier inzwischen etwas übertrieben wird. Es hat sicherlich niemand etwas dagegen, wenn die Leute zusammenarbeiten und sich helfen. Es sollte aber halt als Endprodukt Code rauskommen der erkennbar eine eigene Leistung darstellt.
Dass nach einfach kopiertem Code gesucht wird ist wohl nicht verwunderlich. Woher aber diese Panikmache kommt ist mir im Moment unverständlich. Wenn ich mich recht enzinne kam soetwas im HNP Praktikum letztes Jahr 2 mal vor, dass deshalb überhaupt etwas beanstandet wurde. Und wenn man dann halt mal fremden Code ausversehen in das Interface hochgeladen haben sollte (was ich schon für eher unwahrscheinlich, wenn auch möglich halte), dann läd man halt seinen eigenen nochmal dazu hoch und schreibt ne EMail an den Betreuer, dass einem ein Fehler unterlaufen ist.
Es geht ja nun wirklich nich darum die Leute zu terrorisieren sondern einfach darum irgendwie zu überprüfen, ob die Leute auch selber was gemacht haben. Deshalb auch die Vorträge am Anfang, die zwischen den Gruppenmitgliedern einen ausgeglichenen Redeanteil haben sollten.
MartinL
 
Beiträge: 531
Registriert: 23.01.07 20:48
Studiert seit: WS 06/07
Anwendungsfach: Mathe

Nächste

Zurück zu Technische Informatik