Mark S. schrieb:
> Ich habe mit dem XMC2Go-Kit und der Dave-Umgebung von Infineon ein
> kleines Beispiel programmiert
Ich hatte auch mal selbiges Kit und auch so ein ähnliches Kit von der
Embedded (ein XMC 1100 BOOT Kit).
Den Seggerschen JLink-OB davon konnte man ja ganz gut verwenden, aber
das Problem bei diesen Chips ist die innere Architektur.
Bei diesen Dingern ist ab Adresse 0 reiner ROM und der ist m.W. (bzw.
war damals) überhaupt nicht offengelegt. Und auslesen läßt der sich auch
nur zu einem kleinen Teil, nicht jedoch vollständig.
Dazu kommt, daß die kleineren Typen das Umverlegen der Interrupt-Tafel
nicht können. Also gibt es da ein Verlegen der Interrupt-Adressen in den
RAM über irgendwas im besagten ROM, was ebenfalls nur recht spartanisch
dokumentiert war.
Schlußendlich ist es wohl so, daß man es bei diesen Chips schwer hat,
ohne DAVE und Konsorten auszukommen - und all diese Hilfsmittel führen
ein Eigenleben, über das du hier gestolpert bist.
Ich vermute mal, daß du lediglich annimmst, daß dein µC tatsächlich mit
32 MHz läuft. Alternativ läuft da irgendwas im Hintergrund (im ROM), von
dem du nichts weißt, oder deine zwei Funktionen führen ein Eigenleben,
das dir evtl. auch bloß nicht offengelegt ist.
Probiere doch mal aus, wie das Ganze aussieht, wenn du großzügig auf das
Verwenden dieser ominösen Funktionen verzichtest und deine Pins direkt
setzt.
Nun, ein Cortex M erwartet ab Adresse 0 eigentlich einen Flashrom, der
den Code enthält, den man selber verzapft hat, aber bei Infineon sieht
man das völlig anders.
Aus diesem Grunde habe ich diese Produkte von Infineon auf meine private
schwarze Liste gesetzt und bin eigentlich geneigt, auch anderen davon
abzuraten. Bei den Dingern ist zuviel Geheimniskrämerei seitens des
Herstellers dabei.
W.S.