µracoli wuart - Falsche Baudrate?

OP #3761408
Lesenswert?
• ▲
▼
Hallo,

ich bin noch relativ neu, was die Atmel-RFs angeht. Mit NRF24L01 hab ich 
aber schon mal gearbeitet.
Nun bin ich an zwei WDB-A1281-P1 Boards vom ehemaligen Meshnetics 
gekommen. Zum testen wollte ich erstmal µracoli-wuart draufflashen. Also 
zur Linux-VM gewechselt, runtergeladen, das übliche Make-Gefrickel, nach 
Windows rüberkopiert, mit Atmel-Studio 4, JTAG ICE MKii per JTAG auf die 
Boards geflasht.
Die ersten Tests weißen (glaube ich zumindest) auf einen Baudratenfehler 
hin.
Beim Reset der Boards bekomme ich:
1
FC 1C 1C 1C 1C 00 1C E0 1C FC 1C E0 E0 1C FC E0 E0 00 1C FC 1C 1C FC 1C E0 00 E0 FC 00 E0 E0 1C 00 1C E0 1C E0 1C FC 00 E0 E0 E0 E0 1C 00 E0 00 E0 E0 00 1C E0 1C E0 1C E0 00 1C 1C 1C 00 00
Wenn ich den Quelltext von wuart mal schnell überfliege, sieht es so 
aus, als söllte das eigentlich Ascii-Lesbares sein.

Die Funkstrecke funktioniert auch (irgendwie), wenn ich am ersten Modul 
was sende, kommt am zweiten auch was an, aber immer nur F0 oder E0.

Muss ich beim kompillieren noch irgendwie die F_CPU definieren? Laut 
JTAG stehen die Fuses auf Interner Oszillator.

PS: Das Terminalprogramm steht auf 115,2 kBaud, ich vermute das es 
richtig ist?
#3761589
Lesenswert?
• ▲
▼
Peter, wenn du das Paket aus dem Netz genommen hast, 
uracoli-src-0.4.2.zip dann ist die Baudrate fuer das wdba1281 38400 bps 
(siehe inc/board_cfg.h).

Kontrollier auch nochmal die Fuses: (siehe inc/boards/board_wdba1281.h)

Fuses/Locks:
    uracoli settings:
     LF: 0xe2 - 8MHz internal RC Osc.
     HF: 0x11 - without boot loader
     HF: 0x10 - with boot loader
     EF: 0xff
     LOCK: 0xef - protection of boot section

    original settings
     LF: 0x62 - ... ? todo
     HF: 0x1d - ... ?
     EF: 0xff

Wir hatten die Fuses damals von 1MHz auf 8 MHz geaendert.

Der wuart meldet sich in etwas so:

"Wuart 0.3 chan=%d radio %02x.%02x cfg %c"

(... auf klingonische Texte haben wir bislang verzichtet)
OP #3761598
Lesenswert?
• ▲
▼
Danke. Jetzt geht es. So simple Fehler...

Nur noch mal eine ganz blöde Frage: WO steht die Baudrate? Weder in 
wuart sources, noch in den Board-Includes hab ich was gefunden

EDIT:
Habs gefunden. In der board_cfg.h :
1
#elif defined(wdba1281) || defined(mnb900)
2
# define BOOT_LOADER_ADDRESS (0xf000)
3
# if !defined(HIF_DEFAULT_BAUDRATE)
4
#  define HIF_DEFAULT_BAUDRATE (38400)
5
# endif
6
# include "boards/board_wdba1281.h"
#3761621
Lesenswert?
• ▲
▼
HIF_DEFAULT_BAUDRATE ist das Stichwort, inc/board_cfg.h ist im 
uracoli-src Paket generiert.

Wenn du mit scons aus dem Mercurial-Repository heraus arbeitest, steht 
die Baudrate in Config/board.cfg, dort kann sie auch geaendert werden.


$grep "defined(wdba1281)" -A 6 inc/board_cfg.h

#elif defined(wdba1281) || defined(mnb900)
# define BOOT_LOADER_ADDRESS (0xf000)
# if !defined(HIF_DEFAULT_BAUDRATE)
#  define HIF_DEFAULT_BAUDRATE (38400)
# endif
# include "boards/board_wdba1281.h"


Mit dem RC-Oszillator ist 38400 aber das max. stabil erreichbare.
#3762261
Lesenswert?
• ▲
▼
Das hatte ich noch überlesen:

>Also zur Linux-VM gewechselt, runtergeladen, das übliche Make-Gefrickel,
>nach Windows rüberkopiert, mit Atmel-Studio 4, JTAG ICE MKii per JTAG auf
>die Boards geflasht.

Das Bauen der Firmware geht auch direkt unter Windows, die AVR Toolchain 
und einige GNU-Tools (make, gmkdir) kommen im Atmel-Studio mit, liegen 
aber in zwei Pfadzweigen. Mit  atprogram.exe kann man von der 
Kommandozeile aus flashen.

Hier ein Auszug aus einem Batchfile, das meine Umgebung setzt. Wichtig 
ist wirklich keine Anführungszeichen in der PATH Variable zu verwenden, 
sonst kommt irgendeine mystische Fehlermeldung des GCC, der interne 
Tools nicht findet (irgendwann hatten wir daran auf avrfreaks lange 
gesucht, ich finde nur den Beitrag gerade nicht mehr).
1
@rem =====================================================================================
2
@rem Note: No quotation in PATH variable, even if there are spaces in the directory names.
3
@rem =====================================================================================
4
@set PATH=%PATH%;C:\Programme\Atmel\Atmel Studio 6.2\shellUtils
5
@set PATH=%PATH%;c:\Programme\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin

In den µracoli-Makefiles gibts noch einen Windows-Quirk der gmkdir aus 
den "shellUtils" verwendet.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.