Forum: Mikrocontroller und Digitale Elektronik STC15F104W will nicht so recht


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von 8051_Anfänger (Gast)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Hallo,

ich experimentiere zur Zeit mit dem chinesischen STC15F104W.
Ein Datenblatt ist angehängt.

Zum Anfang will ich einfach mal alle Ports blinken lassen.
Dazu habe ich dieses Projekt gefunden: 
https://github.com/ExploreEmbedded/8051_DevelopmentBoard/tree/master/Code/Keil_Sample_Codes/01a-LedBlinking

Wenn ich die dort unter "Objects" zu findende HEX-Datei auf den 
STC15F104W spiele, dann blinkt es ganz gut.

Wenn ich allerdings die main.c aus oben genanntem Link mit dem sdcc 
selbst compiliere:
1
sdcc main.c && packihx main.ihx > main.hex

und diese auf den Mikrocontroller flashe, dann funktioniert es nicht.

Ich habe mal beide HEX-Files disassembliert und die Listings angehängt. 
Kann mir jemand erklären, warum das eine geht und das andere nicht?

Muss ich an den Compiler-Einstellungen etwas ändern?

Vielen Dank!

von tgbyhn (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Soweit ist die geistige Armut schon, dass fuers LED-Blinken
fremde Hexfiles herhalten muessen.

Stell dich in die runde Ecke und schaeme dich ne Stunde lang!

von 8051_Anfänger (Gast)


Bewertung
1 lesenswert
nicht lesenswert
tgbyhn schrieb:
> Stell dich in die runde Ecke und schaeme dich ne Stunde lang!

Danke für den Tipp, aber das hilft mir nicht weiter. Ich habe den selben 
C-Code selbst compiliert, aber mit dem daraus resultierenden HEX-File 
geht es nicht, aber mit dem von Github schon. Leider kenne ich mich mit 
dem 8051 noch nicht so gut aus und kennen auch den SDCC Compiler nicht. 
Anstatt mir einen solchen Rat zu geben, könntest Du mir vielleicht einen 
Tipp geben, was ich dem Compiler an Options geben muss, damit er für 
meinen Mikrocontroller lauffähige HEX-Files erzeugt?

von tgbyhn (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Besorg dir doch einen der vielen 8051-Simulatoren und finde es
selber heraus.

Bei Silabs gibt es glaub ich den Keil-Compiler fuer die Silabs 51er.
Fuer umsonst.
Versuch den mal...
Einen Simulator hat der uebrigens auch.

von 8051_Anfänger (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Das Problem war, dass der SDCC die RAM-Größe zu 256 Bytes annimmt.

mit
1
sdcc -mmcs51 --iram-size 128 blink.c

geht es ;-)

von tgbyhn (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Und mit dem Simulator gefunden?

Oder mit scharfem Auge?

von 8051_Anfänger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
tgbyhn schrieb:
> Und mit dem Simulator gefunden?
>
> Oder mit scharfem Auge?

Nachvollziehen der ASM-Listings. Hätte halt vermutet, dass ein Profi 
hier den Fehler sofort sieht und mich darauf hingewiesen hätte, darum 
habe ich hier gepostet.

Gibt es hier 8051-Profis? Und arbeitet noch jemand hier mit den 
STC-Mikrocontrollern? Wie verbreitet ist das? Jeder kennt wohl ARM, aber 
nicht STC?!

von tgbyhn (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Auch ein 8051-Profi haette erst das DB lesen muessen.
Und ganz ehrlich: Zum Sparen nimmt man keinen 8051 mehr.
Da muss schon spezielle Peripherie vorhanden sein um einen
den schmackhaft zu machen.
Oder ein Hersteller verwendet ihn in seinem Referenzdesign.

Und da wird ein "STC15F100" wohl eher nicht auftauchen...

Zum SDCC:
Die Referenzdesigns verwenden regelmaessig eher den Keil-Compiler.


Aber trotzdem viel Erfolg!

von Philipp Klaus K. (Firma: Albert-Ludwigs-Universität) (pkk)


Bewertung
0 lesenswert
nicht lesenswert
Welches Board verwendest du? Eines dieser Einfachstboards, wie man sie 
mit 4-Pin STC15F104W auf ebay findet? Die sind ja recht billig, da 
könnteich bei Gelegenheit eins zu den Tutorials auf 
http://www.colecovision.eu/mcs51/ hinzufügen.

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]
  • [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.