mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik F330 von SiLabs Programmieren


Autor: Mr Bean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Für ein Projekt möchte ich mal den F330 von SiLabs ausprobieren. Ich 
habe bis jetzt nur mit AVR`s gearbeitet und diese programmiert. Der 
SiLabs bietet aber einen wesentlich schnelleren AD Wandler. Darum möchte 
ich es nun mal mit diesem probieren.
Meine AVR`s habe ich bisher in C programmiert. Ich habe mir nun mal 
einige Ap.Notes von SiLabs durchgelesen. Einiges sieht schon sehr 
ähnlich aus, mit einigen Dingen kann ich aber nicht wirklich viel 
anfangen.
Könnt ihm mir ein paar Tips geben was ich am Anfang mit diesem Prozessor 
auf jeden  Fall beachten muss? Vor allem was das Programmieren angeht. 
Damit ich da nicht gleich von Anfang an etwas grundlegendes falsch 
mache.
Wie waren eure Erfahrungen mit diesem Prozessor?
Es geht bei dem Projekt darum einen Sensor auszulesen und die Daten über 
eine RS485 Schnittstelle zu versenden.
Würde mich freuen wenn ihr mir da weiterhelfen könnt.

MFG

Bean

Autor: Pieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

zum proggen brauchst Du ein C2-Interface.
Von Silabs lade den ConfigWizard SMS6.24..spart einiges an Zeit und 
beantwortet einige Fragen...
Ich hab da was mit nem F365 am kochen..

mfg
Pieter

Autor: Mr Bean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Pieter

Danke für die schnelle Antwort. Ich habe den ToolStick von SiLabs. Werde 
mir den ConfigWizard gleich mal anschauen. Was ist das genau?

MFG

Bean

Autor: Mr Bean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tip mit dem Configuration Wizard. Das Teil ist echt gut.

MFG

Bean

Autor: Mr Bean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich bins nochmal. Wollte mal fragen ob es auch möglich ist den Hautteil 
der Software in C zu schreiben und einen etwas zeitkritischen Teil in 
Asambler zu schreiben. Wie mache ich das in der IDE von SiLabs? Ist noch 
nicht gesagt dass ich das wirklich brauche, aber interessiert mich 
einfach wie und ob das geht. Habe das schon bei AVRs gesehen, aber noch 
nicht selber gemacht. Wisst ihr da was?

MFG

Bean

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hängt von deinem C-Compiler ab. Da du nicht schreibst, welchen du 
verwendest, musst du in dessen Handbuch unter dem Stichwort "inline 
assembler" nachgucken :)

Ralf

Autor: Pieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

wenn der Compiler (eigendlich Hochsprachenassembler) auch die 
Assemblerquelle ausgibt, kann man dort sehen wo Zeit "verplämpert" wird.
Dann ist auch sichtbar, wo und wie man schon die Hochsprache besser an 
den Compiler und seine (Schlüsselloch-)Optimierung anpassen kann.
Der SDCC hat zum Beispiel viele Stellen, wo gezeigt wird, wie man es 
eigendlich nicht machen sollte. Bestes Beispiel ist die Funktion _fabsf. 
Der SDCC braucht dazu ca 100Bytes (und mindestens soviele Takte), in 
Assembler verwende ich dazu einfach CLR A.7, 2 Bytes und 1 Takt.

mfg
Pieter

Autor: Mr Bean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ok, ich benutze die IDE von SiLabs. Und hab de freeware von Keil als 
Compiler eingebunden. Hab jetzt unter Configuration was gefunden, da 
konnte ich ein Häckchen setzten "include assembly code". Denke das ist 
es was ich brauche :-)
Werd das dann vielleicht mal versuchen.
Danke!

MFG

Bean

PS.: Bin immernoch dankebar über alle Tips zum Programmieren des SiLabs 
F330.

Autor: Jürgen H. (nobody)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Controller hat einen Crosslink eingebaut!
Den must Du richtig konfigurieren! Das Problem dabei, es können sich 
dabei die Pinfunktionen verschieben. Das heißt erst die Konfiguration 
dann das Layout. Ansonsten ist es ein 8051 aber so ein super Contoller.

Der Adc ist dem der AVR's um welten vorraus!

Gruß

Autor: Jürgen H. (nobody)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch was,
wir haben den Controller, unter µVision3 von Keil programmiert.
Das ging sehr gut damit. Auch debugging mit dem C2 wird unterstützt und 
macht es somit leichter.

Autor: Pieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

@Jürgen,

bei einem F365 kann ich alles lesen und Register schreiben, beim löschen 
gibt es einen TimeOut und programmieren geht nicht mehr. Hast Du dazu 
eine Idee, ob ein Register mit falschem Wert beschrieben wurde?

mfg
Pieter

Autor: Jürgen H. (nobody)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry,

von so einem Problem ist mir nichts bekannt.
Hatte aber auch nichts mit der 360 Serie zu tun.

Das einzige das wir festgestellt habe, ist das sich beim Programmieren 
immer wieder mal das ein oder andere Byte im Flash nicht richtig 
programmieren ließ.

Das haben wir dann mit einer CRC Prüfung abgefangen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pieter wrote:

> eigendlich nicht machen sollte. Bestes Beispiel ist die Funktion _fabsf.
> Der SDCC braucht dazu ca 100Bytes (und mindestens soviele Takte), in
> Assembler verwende ich dazu einfach CLR A.7, 2 Bytes und 1 Takt.

Wozu braucht man denn eine Funktion, die -1 zu 127 umwandelt?


Peter

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls ihr am Reset einen Kondensator nach GND und einen Widerstand nach 
VCC habt, werft den mal raus. Das funktioniert zwar auf den DevBoards, 
aber in den normalen Schaltungen erwies sich der Cap immer als Problem 
(nicht bei mir, sondern bei den Usern des SiLabs Forums). Ausserdem bei 
Schreiben vom Flash über Firmware immer den VDD-Monitor aktivieren.
Einige Bereiche des Flash lassen sich nur unter bestimmten Bedingungen 
beschreiben bzw. sind reserviert!

Ralf

Autor: Pieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

Peter wrote:
>>Wozu braucht man denn eine Funktion, die -1 zu 127 umwandelt?

...wie ... was, Du kennst die Funktion
float fabsf(const float x) _FLOAT_FUNC_REENTRANT
{
    union float_long fl;

    fl.f = x;
    fl.l &= 0x7fffffff;
    return fl.f;
}

nicht???

mfg
Pieter

Autor: M. G. (looking)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mr Bean wrote:
> Danke für die schnelle Antwort. Ich habe den ToolStick von SiLabs.

Wo hast Du den ToolStick gekauft?
Direkt bei Silabs im Onlineshop? Wie hoch waren die Versandkosten?
Danke.

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.