Forum: Mikrocontroller und Digitale Elektronik Zugriff auf Timer Register verhindern (Mega88)


von Marc (Gast)


Lesenswert?

Hallo zusammen,

ich plane mir für den Mega88 ein kleines "Betriebssystem" zu basteln.

Hauptsächlich sollen periodische Tasks angelegt werden können.
Für die Zeitsteuerung des OS will ich einen der Timer benutzen.
Da ein Ändern der Register des verwendeten Timers das ganze Timing des 
OS durcheinander wirbeln würde, möchte ich den Zugriff auf diese 
Register durch die Applikationssoftware verhindern.

Meine Frage: Ist es möglich den Zugriff auf die Timer Register zu 
beschränken?

Danke im Vorraus,

Marc

von Ralf (Gast)


Lesenswert?

Die einzige Möglichkeit, die mir einfällt, das zu verhindern, wäre wenn 
du vor jedem Applikations-Befehl prüfst, ob dieser aufs Register 
zugreift --> Aufwendig --> beim PC geht das, weil der Prozessor selbst 
die nötigen "Features" mitbringt.

Empfehlung: Vergiss es und schreibs lieber in die Doku, dass der Timer 
nicht verwendet werden darf. Selbst wenn du das Include-File so anpasst, 
dass das Timer-Register nicht bekannt ist, kann es durch einen falschen 
Pointer immer noch verändert werden.

Ralf

von Marc (Gast)


Lesenswert?

Hallo Ralf,

ich denke ich werde deiner Empfehlung folgen und in die Doku einen 
entsprechenden Vermerk setzen.

Danke

Marc

von Ulrich (Gast)


Lesenswert?

Notfalls könnte der Compiler das Prüfen indem das include für das 
Betriebssystem die Referenzen auf die Timer auf ein paar traps verbiegt. 
Man würde dann beim Compilieren eine Fehlermeldung bekommen. Nicht 100% 
aber immerhin etwas. Das setzt allerdings vorraus, das man im 
wesentlichen einen Compiler benutzt.

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
Noch kein Account? Hier anmelden.