Aha ich weiß von einigen PICs das diese in der Lage sind ihren Flash auch selbst zu beschreiben.
reprogrammierbar bedeutet, daß man im laufenden Betrieb irgendein Programm laden und ausführen kann.
Das geht aber nur, wenn der Controller auch Programme ausführen kann die im RAM (oder einem externen Speicher) liegen.
Bei den AVRs z.B. ist das aber nicht der Fall, die können nur das Programm ausführen das man im Flash abgelegt hat.
So viele Treppen und so wenig Zeit!
Aha ich weiß von einigen PICs das diese in der Lage sind ihren Flash auch selbst zu beschreiben.
Die AVRs können das auch. Das ist jener besagte Bootloader.
Der dient aber normalerweise nur dazu, ein Firmwareupdate durchzuführen. Aber wie gesagt, man kann ihn im Prinzip auch als Bios verwenden.
askazo
µC-BIOS: Ein Problem bei diesem Vorhaben liegt darin, daß
die externen Anschlüsse bei µCs oft mehrfach belegt
sind, was hohe Flexibilität bezweckt.
Das heisst, es gibt nicht "die" Initialisierung,
sondern es gäbe verschiedene. Ein mögliches
BIOS müsste also verschiedene Varianten bedienen.
Da oft jeder Pin unabhängig von den anderen
konfigurierbar ist, gibt es ungeheuer viele
Permutationen. Bei nur 8 Pins, von denen jeder
nur zwei mögliche Konfigurationen besitzt,
gibt es bereits 256 Initialisierungsvarianten.
Natürlich könnte man ein Bios sehr flexibel
gestalten, indem man beispielsweise die 16-Bit-Nummer
der gewünschten Konfiguration mit übergibt.
Das kostet dann aber immens Speicherplatz,
was dem Konzept der µC zuwiderläuft.
Oder man machts mit bedingter Assemblierung,
hat dann aber ein BIOS im µC, das nur wenige
feste Konfigurationen benötigt.
Wenn man externe Hardware anschliessen will,
muss man diese ja auch initialisieren. Das
wäre eigentlich eine Aufgabe des BIOS, verbietet
sich aber aus naheliegenden Gründen...
Also müsste man "per Hand" ein bestehendes BIOS
dann immer noch erweitern... und dann Klemmts
vielleicht, weil das BIOS im Spezialfall doch nicht
so flexibel, oder in der speziellen Konstellation
buggy ist...
Nein, nach meiner Ansicht ist das ein Projekt,
das klar in eine Sackgasse führt. Je eher man das
erkennt, umso besser.
Ich meinte natürlich:
...
Oder man machts mit bedingter Assemblierung,
hat dann aber ein BIOS im µC, das nur wenige
feste Konfigurationen e r m ö g l i c h t.
...
Grüße an das Forum
TORO
Zitat von Magge2k
Kein Problem. Wenn du des lieber hören möchtest, dann sag es doch gleich!!!Zitat von Magge2k
Hi Leute,
ich hab im Internet eine Seite gefunden die sich mit diesem Thema auseinandersetzt.
http://www.uclinux.org/
Also so wie ich das seh, ist in jedem µC nicht nur ein µP sondern auch noch ein (µ)BIOS. Das Bios auf dem PC ist eigentlich nur eine Ansammlung von Routinen um über uralte Befehle (286-Zeit) eine nicht bekannte Hardware irgendwie anzusprechen.
Also beim PC siehst es ja so aus:
1.) POST-Abfolge
BIOS prüft ob Platte, RAM, Prozessor und Grafikkarte vorhanden sind und ob sie in einem vom BIOS ansprechbaren MODUS arbeiten können.
2.) Ausgabe von Statusinformationen vom System und Fehlermeldungen (das ganze ist wirklich lowlevel, da wird mit Interruptroutinen auf die Bridges zugegriffen und einfach Kommandos abgelegt, wie: wieviele Sektoren hast du, Hast du den Modus 320x240x1Bit)
3.) Abrufen von Informationen von der Platte (MBR) Einlesen der ersten Datei bis EOF und abarbeiten lassen durch den Prozessor.
Ab da, übernimmt der Prozessor die Arbeit und ruft weiter über BIOS-Interruptroutinen weitere Daten an, bis dann endlich mal spzifische Treiber geladen wurden für Speicher, MoBo, GraKa und was weiss der Teufel noch mal.
Im µC ist sowas sicherlich ähnliches nur hardcodiert in der Hardware selber (nix Chip zum Wechseln und flashen.) Dieses "BIOS" steuert nach einschalten des Stromes entweder die Ports nach einem vorkonfigurieten Muster an und arbeitet dann einfach dne ersten Befehl im Speicher ab. (Maschinencode muss ja nicht verstanden werden sondern wird stur abgearbeitet (von beiden Arten)), oder prüft zum Beispiel auch Strom an und Reset High, dann ISP-Modus.
Also ist bei beiden ein BIOS drin, ist nur unterschiedlich im Vorgehen, da bei dem PC das BIOS nicht weiss welche Peripherie um in herum ist, und er eigentlich nur ein Babbelfisch ist, beim µC weiss er genau was da ist, und kann dadurch einfach und schnell starten.
Deshlab starten alle PC und µC mit festen Code viel schneller, als die Windoof mühlen oder Linux, da nichts erst ümständlich geladen und analysiert werden muss bis alles genau funktioniert. Hard verdrahtet ist schneller als soft gecodet. *g*
C ya, Grusim
Anfänger in der Elektronik
Lesezeichen