Bernd Schuster schrieb:
> Markus E. schrieb:
>> Du programmierst doch den Bootloader auch selber. Was hindert dich
>> daran, einfach selber vorne einen Header dranzuhängen, den zu prüfen,
>> und dann den Rest zu starten? :)
>
> das erste Programm springt ja zur Startadresse vom zweiten Programm,
> welches als separates Programm im Flash gespeichert wird durch die
> Entwicklungsumgebung;
Du definierst eben irgendeine magic number, die an einer festen Adresse
in Deinem Image liegt. Die wird dann vom Bootloader abgefragt.
> der Anfang dieses Programms ist bei den ARMs immer gleich
Das wäre mir neu. Wenn man immer den mitgelieferten Reset Handler
seiner Lieblings-IDE für einen MCU Hersteller verwendet, dann ist kann
das schon sein. Ansonsten gibt es da unzählige Varianten, genau wie beim
Cortex-M3. Letzterer verwendet allerdings eine andere Vektortabelle, so
dass selbst innerhalb der o.g. Randbedingungen eine gewisse Vielfalt
auftritt.
> (bei den Cortex-M3 bin ich mir nicht sicher... die beiden Flashbereiche
> sehen unterschiedlich aus); einen Header kann ich nicht vor diesen Code
> setzen.
1. Klar kannst Du. Siehe Anleitung des Linkers, bzw diverse
Compilererweiterungen
2. Muss ja nicht vor dem Code liegen, solange die Adresse (oder
offset) bekannt ist.
Gruß
Marcus