mikrocontroller.net

Forum: Projekte & Code Webradio - atmega644, vs1053b, enc28j60,sd - mit multitasking und timer management


Autor: Sebastian Meuren (neruem)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen!

Ich weis, es gibt mitlerweile schon einige Projekte, welche avrs, 
tcp/ip, sdkarte, multitasking, etc. miteinander verbinden, aber als ich 
damit angefangen habe mit AVRs rumzuspielen, war das noch nicht ganz so. 
Das Projekt ist so um 2002/03 rum ins Leben getreten und hat einige 
Zwischenstationen durchlebt. Ich will noch nicht behaupten, dass alles 
perfekt ist, ganz im Gegenteil. Viel von dem Code bedarf noch der 
Ueberarbeitung, aber vielleicht ist ja das Ein oder Andere fuer den 
einen oder Anderen brauchbar. Bei mir laeuft das ganze immerhin schon 
soweit, dass ich Webradio hoere, sowohl ogg als auch mp3-streams direkt 
vom Internet (wie z.B. Deutschlandfunk,etc.) als auch LastFM. Das 
momentane Setup bei mir im Wohnheim sieht so aus, dass wir einen 
Proxyserver haben und ich mich ueber diesen ins Internet einwaehle. DHCP 
ist zwar schon etwas gediegen, aber in der momentanen Version noch nicht 
wirklich benutzbar. Der Quellcode unterschuetzt FAT16/FAT32 SD-Karten 
(zumindestens unter 4GB getestet, HD hatte ich mal angedacht, weis im 
Moment aber nicht wie gut das funktioniert, da ich keine solche Karte 
habe!) (fuer FAT16 muss ein Ordner ROOT angelegt sein, der dann als 
Wurzelverzeichnis interpretiert wird) Das Root-Verzeichnis der Karte 
wird in einer Dauerschleife abgespielt (falls direkt wav/ogg/mp3 Dateien 
vorhanden sind) Im Falle einer m3u-Datei wird der dortige Link abgerufen 
und der Stream aus dem Internet wiedergegeben. Eine .lfm-Datei (kein 
offizieller Standard) wird so interpretiert, dass die erste Zeile als 
lastfm-Benutzername, die zweite als md5sum des Passwortes und die dritte 
als Kuenstlername interpretiert wird. Dann wird eine Verbindung zu 
lastfm hergestellt und der entsprechende Stream abgespielt.
Zum Einsatz kommen vs1053b von vlsi, enc38j60 von microchip und ein 
atmega644 (der ueber JTAG programmiert/gedebugged werden kann, die 
Leitungen sind auf eine Pfolstenleiste zusammen mit einigen anderen 
gefuehrt)

Der Quellcode gliedert sich in mehrere Teile:

* Kernel: Sorgt fuer eine sehr kleine Multitasking-Umgebung, die einen 
Event-Mechanismus zur Synchronisation und Timer zur Verfuegung stellt

* TCP/IP Stack: unterstuetzt vor allem TCP, IP, ICMP (ping), ARP, UDP 
nicht wirklich, DHCP ansatzweise (muss noch etwas aufpoliert werden...)

* FAT/SDCARD Unterstuetzung

fuer Hinweise, Tipps, etc. bin ich dankbar, email: 
SebastianNeruem@gmx.de

Autor: Sebastian Meuren (neruem)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Noch die doppelseitige Platine

viele gruesse,

Sebastian

Autor: Sebastian Meuren (neruem)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
rueckseite der platine...

Autor: Sebastian Meuren (neruem)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
oberseite der platine...

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr interessantes Projekt, gab ja schon ein paar anläufe hier sowas zu 
bauen, aber ich glaube bis jetzt ist noch kein Projekt wirklich zuende 
geführt worden!

Gibt es auch die möglich keit spezielle LastFM Radiostationen (von 
anderen Usern) abzuspielen? Wenn nicht wäre das noch eine sinnvolle 
ergänzung finde ich.

Außerdem vielleicht ein Display zur eingabe der Stream-adresse bzw. der 
Radiostation.

Autor: Sebastian Meuren (neruem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hauke,

lastfm basiert auf den infos von

http://gabistapler.de/blog/index.php?/archives/268...

ich denke, da ist nicht viel Arbeit noetig nicht die Artist station 
sondern die neighbour station einzutunen (wenn du das meinst)

Display habe ich noch nicht am start, kann man aber ueber die 
Pfostenleiste anschliessen, dafuer habe ich die vorgesehen!

viele gruesse, Sebastian (-:

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr schön, eine Sache mehr zum basteln ;)
Hast du zufälligerweise noch so ne Platine rumfliegen? :D
Als diyplay Sollte ja schon nen Textdisplay reichen, wobei nen schönes 
Graphisches da auch sehr schick wäre, habe beides hier, werd nach dem 
ABI (2 Wochen) dann mal etwas basteln :D

Autor: Commtel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehr schönes projekt

wer hat den vs1053b den auf lager?

c.u
Commtel

Autor: Sebastian Meuren (neruem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Platinen sind gerade aus, ich habe nur den Prototypen aufgebaut, die 
loecher muessten sowieso noch etwas groesser ausgelegt und ein elko 
versetzt werden (habe ich in die readme.txt geschrieben). Den vs1053b 
koennte es mittlerweile bei segor geben wenn man nochmal eine Anfrage 
stellt (die haben mir damals gesagt, dass sie den vielleicht spaeter ins 
programm aufnehmen), ansonsten bei vlsi auf der homepage im webshop 
(dort habe ich die bestellt) Aber vielleicht bekommt man ja irgendwen 
ueberredet den chip ins Programm aufzunehmen....

viele gruesse und Danke fuer das Feedback, Sebastian (-:

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich baue auch gerade ein Webradio mit einem ATmega644:
http://www.watterott.net/webradio.php

Wie sieht es bei dir eigentlich mit dem Buffern aus?
Ich habe bei mir mit 384-DSL und den ca. 3kb des AVRs schon Probleme. 
Daher habe ich noch ein F-Ram mit eingebaut.

Autor: Sebastian Meuren (neruem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

bei mir laeuft das ganze so ohne Probleme, ich komme mit dem 2048-byte 
FIFO des vs1053b aus, allerdings betreibe ich das Ganze auch an einem 
proxyserver, ich weis daher nicht, wie es ohne diesen performed (wir 
haben im Wohnheim so ein Ding, ueber den der ganze Trafic laeuft, daher 
geht es gar nicht anders)

Irgendwann werde ich das Ganze wohl mal direkt an einer DSL-Leitung 
testen, aber die Moeglichkeit habe ich hier leider nicht...

Allerdings hat der enc28j60 auch nochmal 8kByte SRAM on board, die ich 
bisher aber noch nicht direkt mitverwende (packete werden in einen 
1kByte FiFo einsortiert und von dort an den vs1053b weitergereicht, ich 
melde nur den dortigen Platz als Windowsize an den Server. (Der Tcp-Code 
unterstuetzt auch noch kein Reassembeln der Packete) Bisher laeuft das 
Problemlos, sowohl von LastFM als auch von diversen Webstreams.

Wie sieht das bei dir aus, wieviel Buffer hast du im Ethernet-Chip?

viele gruesse, Sebastian

Autor: Sebastian Meuren (neruem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch eine Nachfrage: Wie machst du das mit USB, bzw. was wird alles so 
unterstuetzt?

Viele Gruesse, Sebastian

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Ethernet-IC hat bei mir 4kb und ich habe noch mal 1kb im AVR und 
32kb im F-Ram. Damit spielt das Radio ca. 3s weiter, wenn ich das 
Netzwerkkabel ziehe. (128kb/s Stereo Stream).

Unterstützt wird zur Zeit nur das Abspielen von MP3-Streams. Ich bin 
gerade an der Menüsteuerung. Später soll noch von Netzwerkfreigaben und 
SD-Karte abgespielt werden können.

Die USB-Buchse auf der Hauptplatine ist nur zur Stromversorgung für die 
Lautsprecher und die auf der PickUp-Platine ist für Debugausgaben 
(FT232).
Versorgt wird das Radio über PoE.

Autor: Sebastian Meuren (neruem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Andreas,

vielleicht ist dann wohl mein setup direkt an einem router der keinen 
proxyserver mitbringt etwas knapp, danke fuer die Infos!!! Wenn ich das 
naechste Mal die Moeglichkeit habe das zu testen, werde ich das 
ausprobieren...

Mann koennte ansonsten den atmega644 gegen einen der 640-Reihe 
austauschen (8 anstelle 4kByte internes RAM), genug Platz duerfte sein 
bzw. einen der neuen xmega (die es wohl noch nicht gibt,... bis zu 
16kbyte intern)

Wie bindest du das externe RAM eigentlich an? Ist 32kByte die 
Untergrenze ab der es bei dir fluessig laeuft?

Viele gruesse, Sebastian (-:

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

Wenn ich die vollen 4kb des AVRs ausnutze (2-3kb für Buffer und 1500byte 
für das Ethernetpaket), dann funktioniert das Abspielen auch flüssig. 
Sobald man aber im Internet nebenbei surfen will, dann bricht alles 
zusammen. 32kb sollten es dann schon sein.

> Wie bindest du das externe RAM eigentlich an?
Der F-Ram ist über SPI angeschlossen: http://www.ramtron.com/
Anbei auch mein Schaltplan.

Autor: Sebastian Meuren (neruem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

das mit PWRoE sieht sich gut an, danke fuer den Schaltplan!
Die SPI-RAMs von deinem Link sehen ziemlich gut aus. Auf der Platine ist 
auf jeden Fall noch ein wenig Platz neben dem Atmel, da liesse sich auch 
noch ein solcher Chip unterbringen (neben ENC28J60 und AVR, dort ist 
auch der SPI-Bus gerouted) Vom Timing mueste es auch keine Probleme 
geben, der momentane Code schaft (PC->AVR) etwas ueber 1Mbit effektiven 
Datendurchsatz, da duerfte das Zwischenpuffern im SPI-RAM auch noch 
reinpassen...

Was benutzt du eigentlich fuer Software?

viele Gruesse, Sebastian (-:

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was benutzt du eigentlich fuer Software?
Selbst geschriebene ;-)
Ich weiß noch nicht genau, ob ich alles veröffentliche. Auf jeden Fall 
die ganzen Low-Level-Routinen für CP, VS, F-Ram, LCD... Ist zur Zeit 
alles auch noch pre-alpha Stadium. Ich bin erst seit ungefähr 3 Monaten 
an dem Projekt und die Bilder sind vom ersten Prototypen. Leider gibt es 
keine RJ45-Buchsen mit Übertragern (Rx 1:1, Tx 1:2) und PoE für den 
CP220x. Die Buchse die ich verwende ist eigentlich für den ENC gedacht 
(Rx 1:1, Tx 1:1). Daher muss ich die Platine auch noch einmal ändern. 
Aber sonst funktioniert alles soweit.

Autor: Sebastian Meuren (neruem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

ich weis nicht wie dein Zeitplan so aussieht (ich habe im Moment leider 
nicht alszu viel Zeit, viel an dem Projekt weiterzuentwickeln), aber ich 
habe auch schon an SMB-Unterstuetzung gedacht, vielleicht koennte man da 
zusammenarbeiten oder auf Code zurueckgreifen, den es schon gibt (habe 
mich da noch nicht umgeschaut, aber auch schon daran gedacht)!

viele gruesse, Sebastian (-:

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ebenfalls gerade viel zu tun...
Die SMB-Unterstützung werde ich auch erst zum Schluss in Angriff nehmen. 
Als nächster Schritt ist bei mir ein Web-Interface zum Konfigurieren 
geplant...

Es gibt bereits ein fertiges Webradio mit SMB-Unterstützung:
http://www.gurulib.com/_project/wmp3/index.htm

Autor: Sebastian Meuren (neruem)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke fuer den Link!

viele Gruesse, Sebastian (-:

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich bin letzte Woche beim Bestellen über das Stellaris LM3S6965 
Evaluation Kit gestolpert:
http://www.luminarymicro.com/products/lm3s6965_eth...
Der LM3S6965 ist ein Cortex-M3 mit Ethernet und 64Kb RAM. Das wäre eine 
Alternative zu AVR + Ethernet-Controller + externen RAM...

Mittlerweile habe ich das Kit auch schon bekommen und ein bisschen mit 
herumgespielt. Als nächstes versuche ich mal meinen AVR-Code auf den ARM 
zu portieren und einen Stream über das Board abspielen zu lassen.

Gruß
Andreas

Autor: Harald Kipp (Firma: egnite GmbH) (haraldkipp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Frage der RAM Größe kann ich folgendes beitragen: Die TCP basierten 
Stationen (SHOUTcast, IceCast) bauen einen Puffer auf, indem sie ein 
paar Sekunden zeitversetzt streamen. Wenn der Client connected, bekommt 
er diesen Puffer mit maximal möglicher Transferrate übermittelt, bevor 
der Stream dann auf die Dauerrate heruntergeht.

Beim PC hat das den Vorteil, dass man kurzfristig genug puffern kann, um 
spätere Latenzen, die es bei TCP halt gibt, auszugleichen. Bei kleinen 
Embedded Systemen ist das eher hinderlich. Der Server hat fortwährend 
jede Menge Daten zum Verschicken, die aber nicht abgeholt werden. Statt 
dessen meldet der kleine Client dauernd, dass sein TCP Puffer voll ist 
und der Server beginnt zu pollen. Das alles erzeugt zusätzlichen 
Traffic, was dem Client noch mehr zu schaffen macht.

Eine Alternative ist, den Anfangspuffer einfach wegzuwerfen und dann den 
Stream mit normaler Spielgeschwindigkeit abzuholen. Dann fällt zumindest 
das Pollen weg. Bleibt TCP tatsächlich mal hängen, was ohne weiteres ein 
paar Sekunden dauern kann, fällt die Musik natürlich sofort aus.

Die ganzen Probleme hat man nicht so deutlich, wenn noch irgendwo einen 
PC dazwischen geschaltet ist (z.B. ein Proxy). Ansonsten puffern die 
meisten SHOUTcast Stationen so um die 256k. Für einen AVR bleibt da nur 
banked RAM. (Gibt's eigentlich SPI oder I2C RAM?)

Auch wenn es ähnliches schon länger gibt, das Projekt beeindruckt mich.

Grosses Lob,

Harald

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich bin jetzt endlich dazu gekommen den VS an das 
LM3S6965-Evaluation-Kit anzuschließen und habe mal ein kleines Video 
gemacht:

http://www.watterott.net/webradio_cortex.php

Zur Zeit funktioniert nur das Abspielen von Streams. Die Adressen der 
Stationen und die Einstellungen (IP, NetMask, Gateway...) werden von 
einer SD-Karte gelesen. Das Zappen durch die SD-Karte geht auch schon...
Wenn alles funktioniert und ich den Code hübsch gemacht habe, dann 
werden ich ihn auch freigeben.

@ Harald
Mit dem Vorpuffern habe ich bis jetzt noch keine Probleme bemerkt und 
ein erhöhtes Datenaufkommen ist mir beim Loggen mit Wireshark auch noch 
nicht aufgefallen.

> Gibt's eigentlich SPI oder I2C RAM?
Mir sind eigentlich nur die F-RAMs von Ramtron bekannt.

Gruß
Andreas

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe mich selber auch schon an soetwas versucht. Bin aber mit dem 4kB 
RAM des Mega644 nicht sehr weit gekommen. Fast alle Stationen haben 
geruckelt beim Abspielen (außer im lokalen Netzwerk, aber ist ja auch 
logisch). 32kB Buffer bei 256kbit/s Streams ist definitiv Minimum, würde 
ich sagen.

Autor: Sebastian Meuren (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Entschuldigung, ich war hier schon laenger nicht mehr online...

Aber vielen Dank fuer eure Beitraege! Auch an Harald vielen Dank fuer 
das Lob!!!!

@Andreas: Beeindruckendes video, glueckwunsch, sieht sich sehr gut 
an!!!!

Viele Gruesse,

Sebastian (-:

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich wollte mal ein Lebenszeichen geben:
Das WebRadio-Projekt lebt noch ;-)

Vor 2-3 Wochen habe ich die ersten Prototypenplatinen vom ARM Cortex-M3 
WebRadio bekommen und ich schreibe gerade an der Software. Die Hardware 
funktioniert soweit:
PoE, Ethernet, VS1053, microSD, S65-Display, Drehencoder...

Ich habe auch meine Internetseite aktualisiert und schon mal den 
Schaltplan hochgeladen:
http://www.watterott.net/sites/webradio/arm-webradio.pdf
http://www.watterott.net/sites/webradio/arm-webradio_exp.pdf
Die Layoutdaten, Bilder und die Software folgen.

Gruß
Andreas

PS: Falls jemand Interesse an einer Platine hat einfach per PN melden.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Das erinnert mich schon fast an das Olympia Webradio 100. Die benutzen 
einen S3C2410. Der Aubau von diesem Radio ist schon Interressant! Ein 
USB-Stick für die WLAN Anbindung. So könnte man auch sein eigenes Radio 
aufbauen bzw. die Hardwareplattform für eigene Projekte benutzen. Im 
Anhang einige Bilder!

Gruß
Uli

Autor: Sebastian Meuren (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!


Finde ich gut dass es bei euch weitergeht! Ich habe zur Zeit viel 
anderes zu tun und arbeite daher erstmal an dem Projekt nicht weiter. 
Aber wenn jemand Lust hat den Code weiterzuentwickeln, dann sei er 
herzlich dazu eingeladen dies zu tun (-:

@Andreas: Warum bist du auf ARM umgestiegen?

viele Gruesse, Sebastian

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Uli
Interessante Bilder. Aber bei einem ARM9 als Basis ist es auch nicht 
mehr weit zu einem x86 mit Nano- oder Pico-ITX Board.

@Sebastian
Der ARM hat 64kByte RAM und Ethernet integriert, dadurch kann ich den 
F-RAM und Ethernetcontroller einsparen.

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe jetzt mal den aktuellen Schaltplan und Quellcode auf meiner 
Seite hochgeladen. Ein paar Bilder und Videos natürlich auch :-)
Die erste Platine hatte noch einen Fehler, der aber jetzt behoben ist.
Das Radio wird es demnächst auch als Bausatz bei meinem Bruder 
(watterott.com) im Shop geben.

Was schon funktioniert:
* Abspielen von Shoutcast/Icecast-Streams
* Abspielen von Audiodateien von der microSD-Karte
* DHCP-Client
* NTP-Client für die aktuelle Uhrzeit
* UPnP-Device: Discovery/Description/Control
               (Lautstärke ändern funktioniert schon)

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für kosten werden den etwa für so einen Bausatz veranschlagt?

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der komplette Bausatz so um die 85 Euro.

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

sehr interessant das Teil, muss man schon sagen. Wie bewertest du 
eigentlich den hier genutzten Puffer? Teilweise wird ja von eigentlich 
größeren Puffern als die hier verfügbaren 64 k gesprochen.

Gruß

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie bewertest du eigentlich den hier genutzten Puffer? Teilweise wird ja
> von eigentlich größeren Puffern als die hier verfügbaren 64 k gesprochen.
Bei meiner "langsamen" Internetanbindung (384-DSL) brauche ich mind. 
32kByte, damit ich überhaupt ruckelfrei hören und nebenbei ein wenig 
surfen kann. Die Puffergröße hängt hauptsächlich von der Anbindung ab. 
Sebastian hat bei seinem Radio einen sehr kleinen Puffer und keine 
Probleme.

Falls es zu eng wird, kann man auf meinem WebRadio auch noch einen F-RAM 
nachrüsten. Den gibt es mittlerweile bis 256kByte.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es hängt übrigens auch stark vom verwendeten Streaming Server ab, wie 
groß der Puffer sein muss!

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen!


Bin froh, dass hier so eine angeregte Diskussion am Laufen ist!!

@ Andreas: Bei dir gehts ja echt zur Sache! Cool!

@ Pufferfragen: Bei mir laeuft alles gut, da ich hinter einem Proxy 
sitze, dessen Puffer wohl auch nicht zu vernachlaessigen ist :)

viele Gruesse an alle und ein gutes 2009!

Autor: Sebastian C. (basti79)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi @all...

da ich das ARM WebRadio recht beeindruckend finde wollte ich mir das 
sobald der Bausatz verfügbar ist vermutlich zulegen. Da ich bis jetzt 
nur mit AVRs und nicht mit ARM gearbeitet habe, habe ich eine Frage 
bzgl. der Programmierung.

Sehe ich das richtig dass diese normalerweise über das JTAG-Interface 
erfolgt, ein dediziertes ISP-Interface wie beim AVR scheint es nicht zu 
geben?

Ich habe gelesen, dass dieser Controller auch ab Werk mit einem 
Bootloader ausgeliefert wird. Kann ich den Controller also alternativ 
einfach Seriell programmieren? Vorausgesetzt natürlich ich schließe 
dafür einen MAX232 an, dann könnte ich mir das Programmiergerät sparen 
;).

Danke schonmal
  Sebastian.

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich habe gelesen, dass dieser Controller auch ab Werk mit einem
>Bootloader ausgeliefert wird. Kann ich den Controller also alternativ
>einfach Seriell programmieren? Vorausgesetzt natürlich ich schließe
>dafür einen MAX232 an, dann könnte ich mir das Programmiergerät sparen
>;).


Ist richtig. Allerdings ist der Bootloader nicht geschützt, wenn Du also 
nicht aufpasst, ist der weg und Du musst doch per JTAG schreiben.
Also entweder sorgfältig sein oder gleich einen JTAG Programmer 
besorgen...

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ein Jahr ist jetzt wieder vergangen und seit kurzem gibt es auch eine 
neue Revision vom Cortex-M3 WebRadio. Bei der Firmware hat sich auch 
einiges getan: Webinterface und Bootloader sind hinzugekommen. Alle 
WebRadios werden mit vorprogrammierten Bootloader ausgeliefert, so dass 
man keinen JTAG-Adapter mehr braucht.

Da ich mehrere Anfragen bzgl. der Portierung des Quellcodes auf den 
freien Codesourcery GCC bekommen habe, wollte ich mal nachfragen, ob 
vielleicht jemand Lust hat den Code zu Portierung, da ich zur Zeit nicht 
dazu komme. Als Entschädigung dachte ich an ein WebRadio, Chumby Kit 
oder ein FriendlyARM Board...

Gruß
Andreas

PS: Für einige könnte auch das Chumby Hacker Kit interessant sein: 
http://www.watterott.net/blog/entry/38
Demnächst wird es auch ein Gehäuse für das Kit geben. Hier ein paar 
Bilder: http://www.watterott.net/blog/entry/39

Autor: Daniel B. (dbuergin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas

Da ich mir gerade zwei Webradios bestellt habe ;-) eines für mich
und eines als Geschenk für einen Freund, wollte ich mich sowieso
daran machen eine Portierung zu versuchen.

Ich habe ein/zwei kleine Sachen mit Olimex Boards mit Cortex M3
Chips gemacht.

Ich verwende eine selber übersetzte arm-elf-gcc toolchain nach einer
Anleitung aus dem Web. Mit dem Codesourcery Compiler habe ich nur ein
zwei Tests gemacht um meine Toolchain zu überprüfen.
Ich gabe aber davon aus, dass, wenn ein GCC funktioniert, es mit einer
anderen Toolchain auch klappen sollte.

Mal schauen ob es klappt, kann aber nichts versprechen,da meine
Zeit auch nur beschränkt ist.

Gruss

Daniel

Autor: Daniel B. (dbuergin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur der Form halber, der Code ist portiert und kann mit der CS Lite
Toolchain übersetzt werden.

Siehe: http://www.watterott.net/projects/webradio-arm

unter "Source Code" kann der Code mit Makefile, Linkerscript und
Startupfiles runtergeladen werden.

Gruss

Daniel

Autor: Vadim Boyaji (cybervad)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Die riesige Bitte! Ich will das vorliegende Projekt sehr wiederholen. 
Aber mir ist in welchem Programm Sie nicht klar schrieben Ihr Programm? 
Ich habe - in Eclipse richtig verstanden? Wie man das Programm dazu 
stimmen müsste dass aller arbeitete?
Die zweite Frage - auf der Seite ist nur die Erörterung Ihres Rundfunks 
Beitrag "Webradio - atmega644, vs1053b, enc28j60,sd - mit multitasking und timer management". Und es gibt irgendwo 
die Seite wo es die vollere Beschreibung der Arbeit und der 
Möglichkeiten Ihres Rundfunks gibt?
Bitte, so bald wie möglich äußern Sie sich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.