Gast
#1550156
Hallo zusammen, ich kämpfe seit Tagen mit dem Verständnis für das Clocksystem des AT91SAM9260. Ich hoffe ich kann meine Frage halbwegs verständlich formulieren... Ich verwende einen Atmel AT91SAM9260 (ARM9). Code wird aus externem SDRAM (32bit Anbindung) ausgeführt. PLLA ist auf ~200MHz konfiguriert. Der Master Clock Controller ist so konfiguriert, dass am Procezzor 200MHz ankommen und an der Bus Matrix 100Mhz. Instruction Cache ist deaktiviert. Die 100Mhz kann ich am SDRAM messen und die 200MHz habe ich über den Clock-Output verifiziert. So weit so gut. Auf den ersten Blick scheint alles zu stimmen... Nun habe ich zu Testzwecken folgenden Programmausschnitt verwendet um eine LED zu toggeln. Für das toggeln benötigt der ARM exact 20 CPU Zyklen.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
Ich hätte nun erwartet, dass meine LED mit 10 MHz toggelt. Tut Sie aber nicht. Sie toggelt mit 600kHz! Aktiviere ich nun den Instruction Cache so toggelt die LED mit 2,5MHz. Kann es sein, dass mich das SDRAM (100MHz) ausbremst? (Refesh ect...) Ich hab einfach keine Erkärung dafür und hoffe nun auf diesem Weg eine Antwort zu bekommen. Vielen Dank schonmal vorab.