- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 28

Thema: Der Weg vom Einschalten bis zum Laden des OS-Kernels

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Anzeige

    E-Bike
    Hallo ihr beiden,
    ich will auch was loswerden
    meiner Meinung nach wäre ein BIOS bei einem µC nur eine Init-routine, die die IO-Ports je nach Verwendung einstellt, ADC, I2C, evtl. LCD usw. was man sonst braucht in einen definierten Zustand zu setzen.
    Erst wenn das abgeschlossen ist, kann der µC auf externe Sachen reagieren, also Richtung OS (übertrieben).
    Das ist beim µC aber alles in einem kleinen Programm zusammengefasst, denn normalerweise ändert sich an der Beschaltung des µC nix, deshalb muss es auch nicht flexibel sein wie ein BIOS eines PCs.
    Das spart Platz im µC. Und der Sinn eines µC ist ja das er klein sein soll.

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    Nicht gleich er schlagen wenn die Idee grotten falsch ist.

    Dachte nur eben bei durch lesen:

    Also der µC macht doch beim einschalten nix Anderes als den Befehl der an der Adresse X (ich gehe jetzt mal von 0000 aus) steht aus zu führen.

    Wenn da jetzt ein nini prg steht welches die COM initaliesiert und eine hand voll befehle kennt.

    Könnte man doch wenn es µC gibt die Ihr flash beschreiben können doch andere prg ausführen. In dem man per RS232 das Prg in den Flash schreibt
    der noch frei ist und dann einen Jump auf die erste Adresse im flash mach wo man das übertrage hin geschrieben hat.

    Oder liege ich da jetzt föllig falsch.

    bei einem Pc passiert im grunde ja auch nix anders man kopiert den code ins ram und sagt jump dahin wo der erste machine befehl steht.

    Gruß
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    49
    Beiträge
    1.146
    @Felix: Sorry, aber was Du geschrieben hast, ist völlig falsch.

    Ich glaube, einige hier haben den Unterschied zwischen µC und µP nicht verstanden.

    Im Prinzip unterscheiden sich µC und µP nicht sonderlich. Ein µP ist erst mal nichts anderes als eine Recheneinheit, die nach außen lediglich über Datenbus, Adressbus und Steuerbus mit anderen Baugruppen kommuniziert.

    Jeder µC enthält auch einen µP. Der µC ist lediglich mit zusätlicher Peripherie ausgestattet, wie z.B. I/Os, ADC, UART.... Das ist der einzige Unterschied! Bei kleineren µC sind zudem Daten-, Adress- und Steuerbus nicht nach außen geführt.

    Damit das BIOS im PC überhaupt eine Wirkung haben kann, muss man das gesammte System sehen. Also den PC mitsammt Prozessor, Speicher, Northbridge, Southbridge, Laufwerken und Schnittstellen. Das BIOS ist das Programm, mit dem der Prozessor alle Komponenten im System ansprechen kann. Das BIOS regelt also nach dem Einschalten die gesammte Kommunikation zwischen den einzelnen Komponenten eines PCs, lädt den Programmcode des OS vom Bootsektor der Festplatte ins RAM und führt ihn aus.

    Wenn man für einen µC ein PC-ähnliches BIOS schreiben will, braucht man also erst mal Komponenten, die man mit diesem Bios ansprechen will. Also evtl. externen Speicher, Laufwerke, Grafikcontroller etc.
    Und dann kann man hingehen und über die Laufwerke ein externes Programm einspeisen, wie z.B. ein Betriebssystem.

    Die Aussagen von linux und NumberFive sind übrigens auch ziemlich zutreffend.

    PS: Bei Wikipedia sind Mikroprozessor, Mikrocontroller und BIOS relativ ausführlich erklärt.

    askazo

  4. #14
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    42
    Beiträge
    1.780
    @askazo
    Es wäre hilfreich wenn du genau ausführen könntest was "völlig falsch" ist, denn der ganze post ist es sicherlich nicht
    (Konstruktive Kritik ist in jedem Fall besser als der einfache Kommentar Irgendwas sei falsch)

    Mag sein, daß das Unterscheidungskriterium der Reprogrammierbarkeit bei sehr großen µCs nicht mehr 100%ig zutrifft.
    Aber zumindest alle ohne externes Speicherinterface sind einfach nicht reprogrammierbar.
    Und bitte kommt jetzt nicht mit Bootloadern und Ähnlichem, denn auch das ändert nichts an der Tatsache,
    daß man im laufenden Betrieb nicht einfach so ein anderes Programm ausführen kann als das welches im Flash steht


    Könnte man doch wenn es µC gibt die Ihr flash beschreiben können doch andere prg ausführen. In dem man per RS232 das Prg in den Flash schreibt
    der noch frei ist und dann einen Jump auf die erste Adresse im flash mach wo man das übertrage hin geschrieben hat.

    Oder liege ich da jetzt föllig falsch.
    Nein, das siehst du absolut richtig...
    jeder Bootloader macht genau das, aber eben nur nach einem Reset.
    (PS: damit meine ich jede mögliche Form des Resets, nicht nur +Vcc am Reset-Pin)

    Natürlich könnte man jetzt sagen man setzt das Betriebssystem in den Bootloader-Bereich,
    und lässt es die eigentliche Anwendung von sonstwo laden (z.B. von einer SD-Karte oder so)
    Aber dafür ist dieser Bereich einfach viel zu klein.
    (auf einem ATmega32 z.B. nur maximal 2k)


    Wenn man für einen µC ein PC-ähnliches BIOS schreiben will, braucht man also erst mal Komponenten, die man mit diesem Bios ansprechen will. Also evtl. externen Speicher, Laufwerke, Grafikcontroller etc.
    Und dann kann man hingehen und über die Laufwerke ein externes Programm einspeisen, wie z.B. ein Betriebssystem.
    Wenn du das auf einem nicht reprogrammierbaren µC hinbekommst bin ich wirklich beeindruckt.
    So viele Treppen und so wenig Zeit!

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    38
    Beiträge
    674
    Mag sein, daß das Unterscheidungskriterium der Reprogrammierbarkeit bei sehr großen µCs nicht mehr 100%ig zutrifft.
    Aber zumindest alle ohne externes Speicherinterface sind einfach nicht reprogrammierbar.
    Und bitte kommt jetzt nicht mit Bootloadern und Ähnlichem, denn auch das ändert nichts an der Tatsache,
    daß man im laufenden Betrieb nicht einfach so ein anderes Programm ausführen kann als das welches im Flash steht
    Was ist ein sehr großer µC? Zählt da schon ein ARM7 wie zB ein µC der AT91SAM7S-Serie von Atmel dazu?
    Eigentlich dürfte die Reprogrammierbarkeit doch bei jedem µC vorhanden sein, der Code aus einem externen Speicher oder auch dem internen RAM ausführen kann (also bei einer von-Neumann-Architektur).
    Und sobald ein µC dies unterstützt, kann man doch auch während dem laufenden Betrieb ein anderes Programm ausführen.

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    49
    Beiträge
    1.146
    @Felix: Genau diese Reprogrammierbarkeit, die Du ansprichst, stellst Du hier falsch dar. Man kann bei jedem µC, dem man von aussen in irgendeiner Weise Daten zukommen lassen kann, austauschbare Programme ausführen lassen. Das Programm, was im Flash abgelegt ist, könnte man in diesem Fall sogar als BIOS bezeichnen.

    Man kann z.B. ohne Probleme ein hex-file über die serielle Schnittstelle des µC ins RAM laden, den Program-Counter auf die entsprechende Adresse im RAM setzen und schon läuft ein von extern geladenes Programm. Pascal hat da völlig Recht.

    askazo

  7. #17
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    42
    Beiträge
    1.780
    Stimmt, aber das geht nur wenn der µC auch Programme im RAM ausführen kann.

    Und zumindest die hier sehr beliebten AVRs von Atmel können das nicht
    (obwohl man ihnen von außen selbstverständlich Daten zukommen lassen kann)


    Ich habe mich in meinem ersten post wohl zu sehr auf µCs mit Harvard-Architektur bezogen
    So viele Treppen und so wenig Zeit!

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    38
    Beiträge
    674
    Stimmt, aber das geht nur wenn der µC auch Programme im RAM ausführen kann.
    Das kann aber jeder ARM und die sind inzwischen auch recht verbreitet, wenn auch nicht in diesem Forum.
    Die 8051er dürften das auch können.

    Und zumindest die hier sehr beliebten AVRs von Atmel können das nicht
    Die AVRs sind ja auch sehr an die Harvard-Architektur angelehnt.

  9. #19
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    49
    Beiträge
    1.146
    Ok, mir war bisher nicht so wirklich bewußt, dass die AVRs eine Harvard-Architektur haben. Dann geht das natürlich nicht, dass ein Programm im RAM ausgeführt wird, und somit ist's auch mit dem BIOS Käse...

    Es sei denn, man schreibt sich ein kleines Bios als Bootloader und arbeitet damit, aber das ist ja auch nicht wirklich das wahre...

    askazo

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Magge2k
    Registriert seit
    27.10.2004
    Beiträge
    163
    Hey Leute,

    jaa des was ich hier jetzt so zu diesem Thread lese gefällt mir schon besser wie das was gestern abend war.

    Mag sein, daß das Unterscheidungskriterium der Reprogrammierbarkeit bei sehr großen µCs nicht mehr 100%ig zutrifft.
    Aber zumindest alle ohne externes Speicherinterface sind einfach nicht reprogrammierbar.
    Und bitte kommt jetzt nicht mit Bootloadern und Ähnlichem, denn auch das ändert nichts an der Tatsache,
    daß man im laufenden Betrieb nicht einfach so ein anderes Programm ausführen kann als das welches im Flash steht
    Also zu dem Thema reprogrammierbarkeit habe ich nur eine frage, was soll das sein. Wenn ich das wort einmal wörtlich nehme dann verstehe ich darunter so etwas wie ein Programm auf ein EPROM zu schreiben und dieses wenn nötig wieder mit hilfe von UV-Licht zu löschen.
    Aber der µP verarbeitet letzten endes ja nur vorhandene Daten.

    Ich selber stelle mir die Grundfunktion eines µP so folgender maßen vor.
    Dieser verarbeitet einfach nur die Daten, die er vom Cache bekommt (also somit auch von HDD, FDD, CD-ROM was ja erst im RAM zwischengelagert wird und dann zur weiterverarbeitung erst in den cache gelegt wird)
    1. Was ist dabei nun Reprogrammierbar?
    2. Wer oder Was ist dafür verantwortlich das er die DATEN bekommt?
    Oder ist aber dem µP fest gesagt lese einfach die daten aus dem RAM aber dann muss ja noch irgend etwas anderes die daten von der HDD in diesen LADEN.....



    Noch ein kleiner Gedanke von mir ich nenne es jetzt einfach einmal BIOSHybrid.

    Eigentlich müssten BOOTLOADER und BIOS irgendwie in eine Einheit
    gebracht werden. Weil die einen Funktionen vom einen und manche funktionen vom anderen wären bei einem "BOOT" des µC beide erforderlich.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress