Hallo, ich habe hier ein Evaluationsboard von Phytec mit dem XC167CI. Nun versuche ich seit längerem das mitgelieferte Beispiel Hello in Betrieb zu nehmen. Die Beispieldatei habe ich dahingehend verändert, dass ich das Reloadregister auf den Takt von 40MHz angepasst habe. Da das Hyperterminal nichts empfängt, habe ich mal mit dem Oszilloskop in die Sendeleitung gemessen. Zumindest passiert dort etwas (siehe Anhang). Was mich nur ein wenig stutzig macht, ist dass das gesendete Signal sich nicht großartig verändert. Kompiliert habe ich mit uVision4 und das Programm habe ich mit Memtool in den internen Speicher des XC167 geschrieben. Ich hoffe es kann mir jemand helfen. Grüße Christian
Hallo, ich habe nun mal meinen Mega16 in Betrieb genommen und ihn das selbe ausgeben lassen (Hello World\n, mit 9600Baud). Man sieht das die "Perioden dort viel kürzer sind. Auch das Signal ist nicht so symetrisch, was ja auch zu erwarten ist, da er ja unterschiedliche Zeichen sendet. Also ist es beim xc167 nicht nur ein Timingproblem. Ich hoffe weiter auf konstruktive Hilfe. Grüße Christian
Das ist wohl ein "H" was da gesendet wird. Ich würde mich mal beim Lieferanten vom "printf" beschweren. Das muss natürlich zum Prozessor passen, oder man muss es selber schreiben.
Vielleicht muss man auch nur den Interrupt freigeben. Ich weiss ja nicht wie keil das printf implementiert hat. Ich mache mir das printf immer selber, da weiss man was die Software tut.
Hallo jjk123, danke für deine Antworten. Ich hab inzwischen mal das Programm in den externen Flash geschrieben und es von da aus gestartet. Nun läuft das Programm ohne Probleme. Nun verstehe ich nicht, wie der Speicherort des Programms die Ausführung des Programms beeinflussen kann. Ich habe natürlich die Map-Datei für den entsprechenden Speicher angepasst. Grüße Christian
Hallo, mir ist aufgefallen, dass die Periodendauer einer PWM über den Timer 7 im internen Spiecher um den Faktor fünf größer ist, als im externen Speicher. Dies verwundert mich, da die PWM ja kompett in Hardware läuft und die Vorteiler in beiden Fällen gleich gewählt wurden. Grüße Christian
Hallo, ich konnte die Ursache soweit lokalisieren. Diese lag in der unterschiedlichen Initialisierung der PLL. Der XC167 lief standardmäßig ziemlich langsam, hat um sicherzugehen dass er im worst-case Fall auch läuft. Mir ist es jetzt leider nicht gelungen einen schnelleren Takt als 12,5MHz heraus zu bekommen. (PLLCON = 0x7883) Bei einem kleineren Ausgangsteiler (PLLCON = 0x7882) oder einem größeren Multiplikationsfaktor (PLLCON = 0x7983) scheint das Testprogramm nicht mehr zu laufen. Grüße Christian
Hallo, das Problem hat sich mittlerer Weile erledigt. Ich hatte am Anfang einige Probleme mit der richtigen Konfiguration der Register. Durch aktivieren des FOut-Pins konnte ich den internen Takt des Controllers messen und erhielt in der Defaultkonfiguration einen Takt von 8MHz. Nachdem ich das PLLCON-Register entsprechend angepasst hatte, kam ich auf einen Takt von 40MHz was die Abarbeitungsgeschwindigkeit des Programms um einiges verbesserte und die Kommunikation klappt auch wunderbar. Danke jjk123 für deine Hilfe. Grüße Christian
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.