Forum: Projekte & Code pAVRasm ein AVR Compiler für PalmOS


von Th. B. (thbaum)


Lesenswert?

Hallo zusammen,

als Hommage auf ein längst vergessenes BS stelle ich hier mal ein 
kleines Tool zur AVR Programmierung für PalmOS vor. pAVRasm ist ein AVR 
Assembler für den PDA. In der aktuellen Version werden die Controller 
ATtiny13 und 13a unterstützt. Hier die Projektseite mit Download und 
Anleitung für einen kompatiblen (avr910) Programmer.

http://tiny.systems/article/pAVRasm.html

In der Zip findet Ihr einen Texteditor und den Assembler. Ein Editor für 
die Fuses ist auch integriert.

Kleine Demo zur Spielerei:
https://www.youtube.com/watch?v=fzUELRRkp1E

von Peter S. (petersieg)


Lesenswert?

Finde ich prima, das da für PalmOS sowas noch gemacht wird!
Die PalmOS Geräte sind für 1-2€ zu bekommen und als kleine 68000 Rechner 
mit
Display und Eingabemöglichkeit völlig verkannt.

Peter

von Peter S. (petersieg)


Lesenswert?

@thbaum: Mir ist da si einiges noch nicht klar..

MMR-70 enthält einen Atmega32L der über ISP mit dem von dir 
modifizierten Program zum AVR910 Programmer wird - korrekt? Welche Fuses 
sind zu setzen?

Da hast ihn als ein Beispiel über einen USB-TTL Wandler am PC dran 
gehabt - korrekt?

Den Anschluß an den Palm habe ich so noch nicht verstanden.. Orig. 
Anschluss ablöten und dann passenden Palm Anschluss anlöten.. RX MMR-70 
an RX-Palm und TX MMR-70 an TX-Palm oder über Kreuz?

Woher erfolgt die Stromversorgung des MMR-70 (und der Tiny Targets) wenn 
er am Palm steckt?

Peter

von Th. B. (thbaum)


Lesenswert?

An den Fuses wurde nichts geändert. Sie bleiben LOW: 0xEF HIGH: 0xDF
Für den Anschluss an den Palm (serielle Schnittstelle) werden die 
Leitungen TxD und RxD gekreuzt. Als Spannungsversorgung kann Pin 9 (+3.2 
V, 100 mA max.) verwendet werden. Er versorgt auch das Target. Aber 
Vorsicht die Angabe 100mA sollte man ernst nehmen.

Ich hab das nochmal hier zusammengefasst:
http://tiny.systems/article/palmISPProgrammer.html

Für den Programmer hab ich eine Ladestation geopfert um an eine 
Connector-Buchse zu kommen. Einbau in die Cradle wäre aber auch denkbar.

Gruß Thomas

von Peter S. (petersieg)


Lesenswert?

ok. Danke. Flashen ging ohne Probleme. Diode ist auch umgelötet.
Bekomme aber über USB CP2102 Dongle keine serielle Verbindung über 
TeraTerm mit com4 und 9600 8N1?

Ich wollte erst einmal 'v' 'V' eingeben, um zu sehen, ob er sich 
irgendwie meldet..?

Peter

von Peter S. (petersieg)


Lesenswert?

Hmm..

Selbst so ein simpler Bascom Test liefert nichts zurück an der seriellen 
Schnittstelle:
1
$regfile = "m32def.dat" 'Define your own
2
$crystal = 3686400
3
$baud = 9600
4
5
Do
6
 Print "Hello World"
7
Waitms 200
8
9
Loop
10
End

??

Weiß du an welchem Pin die LED des MMR70 hängt?
Dann kann ich ja mal blinken lassen..
--
Loop-Test Rx+Tx gebrückt am USB TTL Dongle echoed mir die Eingabe 
seriell zurück - der scheint als ok zu sein.

Peter

von Peter S. (petersieg)


Lesenswert?

LED hängt an D7.
1
$regfile = "m32def.dat"                                     'Define your own
2
$crystal = 3686000
3
4
Config Pind.7 = Output
5
Do
6
  Portd.7 = 1
7
  Waitms 500
8
  Portd.7 = 0
9
  Waitms 500
10
Loop
11
End

Läßt die LED schön blinken..

Hmm..?? Warum geht seriell nicht..?

Evtl. mal ein 2tes Modul versuchen..

Peter

von Th. B. (thbaum)


Lesenswert?

Mir ist da ein Fehler aufgefallen. In dem Bild wo die Diode umgeklappt 
ist gibt es einen MS Paint Fail. Die Diode wird nur nach unten gedreht. 
Polung für den verbleibenden Anschluss bleib die selbe. Vll hilft das 
weiter.

von Fred (Gast)


Lesenswert?

Hallo Thomas,

erstmal finde ich sehr gut die Palms noch zu nutzen und daß Du eine 
Spitzen- Software dafür schreibst !

Das es die Geräte so ja leider  nicht mehr gibt ist schade.

Ich habe Probleme:

1. mein  M105 hängt sich regelrecht auf, d.h. nach Start des Editors 
kommt eine Fehlermeldung, die nur durch ein Reset das Gerät "zurückholt"

2. M515 / Zire 21 funktionieren ohne Probleme

3. Den Flasher MMR- 70 habe ich nachgebaut--klappt !!!

4. Ist es möglich einen anderen Chip (evtl. ATTINY2313 statt des 
ATMega32
   mit der Flasher-SW zu programmieren? Der Brenner wäre dann kompakter.

5. Gibt es eine Chance den Zire 21 (USB- Buchse) mit einem Brenner zu 
verbinden?

Danke und Grüße

Fred

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Th. Baum schrieb:
> gibt es einen MS Paint Fail

Nö..?? Habe es ausprobiert. Tx finde ich weiter oben siehe Bild.
Nu klappt es.

Wer die Test.bas + Hex möchte.. im Anhang.

Danke, Peter

: Bearbeitet durch User
von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Entweder gibt es 2 Varianten.. oder..??

Rx ging bei mir an Punkt 14 so auch nicht!

Neues Bild - dort ging es. Schottky Diode hatte ich ganz rausgenommen.

Im ZIP ist nun auch ein TinyBasic dafür drin. 9600 8N1.

Peter

von Th. B. (thbaum)


Lesenswert?

Hallo Fred,

vielen Dank. Ich muss mir mal einen m100/105 zulegen um das 
nachzustellen.

> 1. mein  M105 hängt sich regelrecht auf, d.h. nach Start des Editors
> kommt eine Fehlermeldung, die nur durch ein Reset das Gerät "zurückholt"
>
Den Editor "SrcEdit" habe ich nicht selbst geschrieben. Er kommt aus dem 
OnboardC Projekt. Versuche es mal mit einer älteren Version.
Alternativ kannst Du auch jeden anderen Texteditor nehmen der ungepackte 
Doc Dateien erstellen kann.

> 4. Ist es möglich einen anderen Chip (evtl. ATTINY2313 statt des
> ATMega32
>    mit der Flasher-SW zu programmieren? Der Brenner wäre dann kompakter.
>
Ja das ist sogar ohne Änderung des Codes möglich. Der Autor des AVR-Prog 
stellt auf seiner Seite eine 2313 Version bereit.
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#ATTiny2313
Allerdings ist es nötig die Pegel am tiny2313 anzupassen bzw. TxD und 
RxD zu invertieren damit eine Verbindung zum Palm möglich ist. Damit 
wird die Schaltung nochmal größer.

> 5. Gibt es eine Chance den Zire 21 (USB- Buchse) mit einem Brenner zu
> verbinden?
Möglichkeiten gibt es immer. Allerdings besitzt der Zire21 keinen 
USB-Host Mode. Es wäre also nötig den Programmer als USB-Host zu 
betreiben. Sehr aufwendig und die Software ist dafür nicht ausgelegt.
Du könntest jedoch einen IR-Programmer aufbauen, ich würde dann in die 
nächste Version die Option IrDA, RS232 einbauen. Sollte da wirklich 
Interesse bestehen bitte eine Mail an mich ich hätte hier noch einen 
IRDA Stack für AVR (Pico-IrDA).

Gruß Thomas

von Fred (Gast)


Lesenswert?

Hallo,

@Peter

Wofür ist TinyBasic, läuft das unter PalmOS?

@Thomas

Danke für die Antwort. Ich nahm an, daß man den Programmer kleiner bauen
kann. Mein Kollege hat einen MMR- Progger gebaut und sein Cradle 
umgebaut,
klappt gut, aber ist halt recht klobig.
In der Originalschaltung von Leidinger sind doch schon 2 Trans. als 
Wandler
da. Was muß noch geändert werden damit es am Palm klappt?
Geht nicht auch ein MAX23... dafür und dann der ATTINY2313 ?

Danke bis dann.
Fred

von Th. B. (thbaum)


Lesenswert?

Fred schrieb:

> @Thomas
>
> Danke für die Antwort. Ich nahm an, daß man den Programmer kleiner bauen
> kann. Mein Kollege hat einen MMR- Progger gebaut und sein Cradle
> umgebaut,
> klappt gut, aber ist halt recht klobig.
> In der Originalschaltung von Leidinger sind doch schon 2 Trans. als
> Wandler
> da. Was muß noch geändert werden damit es am Palm klappt?
> Geht nicht auch ein MAX23... dafür und dann der ATTINY2313 ?
>
> Danke bis dann.
> Fred

Sonst muss nichts geändert werden. Ja mit dem MAX232 läuft das. Aber 
bist Du sicher, dass die Schaltung dann kleiner wird als mit dem MMR. 
Planst Du die Schaltung in SMD? Dann würde das ja sogar in ein Kabel 
passen.

von Peter S. (petersieg)


Lesenswert?

Fred schrieb:
> Wofür ist TinyBasic, läuft das unter PalmOS?

Das läuft auf dem AVR ;-)

Peter

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.