Hi, wisst ihr, an welchem PIN des ATxmega128A1U ich den Taster (nach GND) anlegen muss, damit ich beim Starten in den Bootloader komme? Im Datenblatt finde ich keine Angabe und im Application Note (Atmel AVR1916) steht PF10 (siehe Bild). Den Pin gibt es doch gar nicht,oder? Besten Dank Benni
Das scheint wieder einmal eine "Qualitätsinfo" von Atmel zu sein. Sonst habe ich leider keine Ahnung, was richtig wäre. Wenn wenigstens der F-Port stimmt, könntest du in Header Dateien danach suchen und Sherlok Holmes spielen
Hallo Atmel gibt doch den Quellcode mit raus dafuer. Ich sehe gleich einmal nach, welcher Port genau gemeint ist und berichte dir dann. MfG
So, wie versprochen - ich wieder. Es ist PORTF0 - siehe Anhang.
1 | // Definition of hardware condition to enter in ISP mode
|
2 | #if XMEGA_A1U
|
3 | # define ISP_PORT_DIR PORTF_DIR
|
4 | # define ISP_PORT_PINCTRL PORTF_PIN5CTRL
|
5 | # define ISP_PORT_IN PORTF_IN
|
6 | # define ISP_PORT_PIN 0
|
7 | #elif (XMEGA_A3U || XMEGA_A3BU || XMEGA_C3)
|
8 | # define ISP_PORT_DIR PORTE_DIR
|
9 | # define ISP_PORT_PINCTRL PORTE_PIN5CTRL
|
10 | # define ISP_PORT_IN PORTE_IN
|
11 | # define ISP_PORT_PIN 5
|
12 | #elif (XMEGA_A4U || XMEGA_C4)
|
13 | # define ISP_PORT_DIR PORTC_DIR
|
14 | # define ISP_PORT_PINCTRL PORTC_PIN3CTRL
|
15 | # define ISP_PORT_IN PORTC_IN
|
16 | # define ISP_PORT_PIN 3
|
17 | #elif XMEGA_B
|
18 | # define ISP_PORT_DIR PORTC_DIR
|
19 | # define ISP_PORT_PINCTRL PORTC_PIN6CTRL
|
20 | # define ISP_PORT_IN PORTC_IN
|
21 | # define ISP_PORT_PIN 6
|
22 | #else
|
23 | # error Unknow AVR Xmega part
|
24 | #endif
|
MfG Stephan
Entschuldigt bitte die späte Rückmeldung. Auf die Idee mit dem Quelltext hätte ich auch kommen können :-) Vielen Dank für die Hilfe!
Bitte entschuldigt das späte Feedback. Leider funktioniert PF0 nicht! Es ist auch verwunderlich, dass als Pin PF0 angegeben wird,
1 | # define ISP_PORT_PIN 0
|
aber das Controlregister von PF5.
1 | # define ISP_PORT_PINCTRL PORTF_PIN5CTRL
|
In welcher Datei hast du den Quellcode gefunden, Stephan B.? Vllt ist meine Hardware noch zu gebrauchen, wenn ich das CTRL-Register in PF0 ändere. Liebe Grüße
Hi. Die defines sind aus:
1 | $ XMEGA_bootloaders_v104/source_code $ grep -Rin "# define ISP_PORT_PINCTRL PORTF_PIN5CTRL" ./ |
2 | ./common/services/usb/class/dfu_flip/device/bootloader/xmega/conf/conf_isp.h:73:# define ISP_PORT_PINCTRL PORTF_PIN5CTRL |
Ggf. disassemblier ich nachher mal das binary. Mal sehen, bin heute very busy... MfG
Die SourceCodes liefert Atmel mit. Die Stelle habe ich dank Deiner Hilfe auch gefunden. Gibt es eine Möglichkeit einen Ordner mit vielen Unterordnern bzw. eine zip in ein AtmelStudio-Projekt zu laden? Dann könnte ich die Stelle editieren und neu kompilieren.... Eine Projekt-Datei wird leider nicht mitgeliefert.
Ich weis auch nicht, was Atmel sich dabei denkt, so ein Durcheinander auszuliefern. Als ich damals die PinSettings aendern musste, war es einfacher im Maschinencode ein paar Bytes zu aendern um die Register anzupassen. Das sagt wohl hoffentlich alles ;-) MfG
:
Bearbeitet durch User
Immerhin halten sie es nicht für nötig, den Fehler innerhalb der letzten Jahre mal zu beheben.... :-) Wie kann ich denn die HEX am einfachsten disassemblieren? Ich bin mir nicht sicher, ob ich mit meinen Assembler-Grundlagen die richtige Stelle überhaupt finde :-)
Pin PF0 ist der defaultpin für den ATXMEGA128A1U! Siehe Atmel Knowledgebase "AVR1916 - Default pin configuration for boot loader- ATxmega128A1U"
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.