BASCOM: Hab ne ATTiny10.dat erstellt

Gast #4140901
Lesenswert?
• ▲
▼
Moin moin...

Hab mal für Bascom eine attiny10.dat erstellt. Alle Register- und 
Flagnamen entsprechen dem Attiny10-Datenblatt.

Die Bascom-Funktionalität ist allerdings sehr eingeschränkt aufgrund des 
winzigen SRAMs von nur 32Byte, das zudem bei r16 beginnt und muss noch 
evaluiert werden. Bascom benutzt einige der niederen Register 0-15 für 
eigene Operationen, was bedeutet, dass die meisten komfortableren 
Funktionen dann doch per Hand in Inline-Assembler dazwischen gefriemelt 
werden müssen.
Vielleicht findet der eine oder andere noch Möglichkeiten um die .dat zu 
verbessern (Mapping der unteren Registernamen..?) und die Funktionalität 
zu erweitern.

Immerhin ein ATTiny10-Blinker funzt schon mit normalen 
Bascom-Befehlen... ;-)

Programmiert hab ich ihn per MKIIv2-Klone (TPI) mit libusbk. Als 
Avrdude-Frontend benutze ich das MyAvr ProgTool 1.39 (Freeware), mit dem 
ich die, von Bascom generierte .bin Datei flashe.

Beispiel eines ersten funktionierenden Bascom-Tiny10-Blinker :)...

$regfile "attiny10.dat"
$crystal = 1000000
$hwstack = 4
$swstack = 0
$framesize = 4

Ddrb = 4
Portb=0
Dim B As Dword            'Wertebereich bis 4.294.967.295
'Immerhin schafft es Bascom ein DWORD zu verwalten, auch ohne seine 
Lower-'Register... ;-)

Do
 Incr B
 If B = 70000 Then
 Toggle Portb.2
 B = 0
 End If
Loop
end

'P.S. Die Bascom Wait_Funktion funzt beim tiny10 z.B. schonmal nicht.

Gruss Simpel
Angehängte Dateien:
Gast #4141445
Lesenswert?
• ▲
▼
Simpel schrieb:
> Programmiert hab ich ihn per MKIIv2-Klone (TPI) mit libusbk. Als
> Avrdude-Frontend benutze ich das MyAvr ProgTool 1.39 (Freeware), mit dem
> ich die, von Bascom generierte .bin Datei flashe.

Wunderbare Infos, aber welche Bascom Version braucht man, damit das 
kompiliert? Hab den gleichen Fehler wie J.H.
Gast #4141527
Lesenswert?
• ▲
▼
Leute vergesst das Ganze... war ein Schnellschuß in den Ofen.

Dass mein Testprogramm auf Anhieb und mit verschiedenen Variablengrössen 
funktioniert hat, war eher zufällig. Es wurde zwar trotz der 
Fehlermeldung (deren Ursache nicht in der .def-Datei liegt, dort gibt es 
kein WDTCR, nur WDTCSR) compiliert und hat auf dem Tiny10 auch 
funktioniert... Aber der Disassembler zeigt, dass da ne Unmenge an 
Code-Müll dazwischen ist und auch Registeraufrufe auf die unteren 0-15 
Register dabei sind.

Bascom greift ohne Beachtung der .def-Datei auf "seine" unteren Register 
zu und will auch seinen Framespace im Ram, sonst wird das gesamte 
Speichermanagement korrumpiert.

Hatte gehofft, dass man es mit Hilfe der attiny10.def wenigstens zum 
überwiegenden Programmieren in Assembler für den t10 nutzen kann, wenn 
man auf komplexe Bascom-Funktionen verzichtet und nur die einfachen 
verwendet. Aber auch das funktioniert nicht. Sorry.
#4141539
Lesenswert?
• ▲
▼
Simpel schrieb:
> Leute vergesst das Ganze... war ein Schnellschuß in den Ofen.

Trotzdem bedanke ich mich bei Dir für Deine Mühe und den Versuch, den 
niedlichen, kleinen Kontroller in Bascom nutzbar zu machen. Das konnte 
man
vorher nicht wissen, wie es ausgeht.
------------------------------------------------------------------------ 
--
Solche Beiträge tun wohl, in einer Zeit, in der es in den Foren immer 
mehr zu verbalem Hauen und Stechen kommt und das Rechthaben um jeden 
Preis im Vordergrund steht..

MfG Paul

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren