Forum: Compiler & IDEs Raisonance vergibt nun RIDE + RKIT-51 Lizenzen kostenlos


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 Thomas Z. (usbman)


Lesenswert?

Ich bin am WE auf der HP von Raisonance gewessen weil ich ein paar 
Details nachprüfen wollte. Dabei habe ich gesehen dass der MCS51 
Compiler nun frei verfügbar ist.

http://support.raisonance.com/content/rkit-51

Hab es natürlich gleich ausprobiert. Man bekommt tatsächlich eine 
kostenlose unbeschränkte Lizenz der Enterprise Suite.

von Vanye R. (vanye_rijan)


Lesenswert?

Meinst du der Hintergrund ist Angst?
Arm macht sich ja nicht unerheblich Sorgen das sie von RISC-V ersetzt 
werden weil billiger. Da koennte ich mir vorstellen das da wo man bisher 
noch einen kleinen MCS51 core verwendet den ebenfalls sehr schnell 
ersetzen wird.

Vanye

von Motopick (motopick)


Lesenswert?

Vanye R. schrieb:
> Meinst du der Hintergrund ist Angst?

Die einzigen die sich Sorgen machen muessen, ist wohl Raisonance selbst.
Kennt man deren Produkte, z.B. von STM8 oder STM32, wird man um die
kuenftig einen Bogen machen.
Und die Supportabteilung sitzt in Frankreich. Man darf sich jetzt
selbst gerne seinen Teil denken...

Fuer 51er ist wohl Keil MDK/C51 immer noch das Masz der Dinge.
Mit dem kommt man auch bei den groesseren Derivaten wie die von
Silabs oder ST (UPSD32) schnell und gut zum Ziel.
Weil man die damit auch vernuenftig debuggen kann.

Beim Raisonance Debugger STM8/STM32 wird z.B. die aktuelle Zeile
in der IDE in dunkelgrau auf blau angezeigt. :)

51er Cores findet man oft an Stellen an denen man sie nicht unbedingt
vermuten wuerde. Z.B. in einem DVB/S-Receiver. Was man ohne ihn
aufzuschrauben aus einem Firmwareupdate "herauslesen" konnte.

von Thomas Z. (usbman)


Lesenswert?

Vanye R. schrieb:
> Meinst du der Hintergrund ist Angst?
Naja ich denke die haben wohl nicht mehr viele MCS51 Lizenzen verkauft. 
Auf diese Weise haben die sich halt den lästigen Support vom Hals 
geschafft.
Genau wie Keil wurden die ja aufgekauft. Wobei bei Keil das sicher eine 
andere Hausnummer war. Keil hat das gut getan. Bei Raisonance bin ich da 
nicht so sicher.
Ich hab den Compiler eigentlich in guter Erinnerung. Hab vor vielen 
Jahren mal mit einer 32k Version gearbeitet. Das Ergebnis war durchaus 
vergleichbar mit dem c51.

von Philipp Klaus K. (pkk)


Lesenswert?

Thomas Z. schrieb:
> Ich hab den Compiler eigentlich in guter Erinnerung. Hab vor vielen
> Jahren mal mit einer 32k Version gearbeitet. Das Ergebnis war durchaus
> vergleichbar mit dem c51.

Ich werde ihn mir dieses Jahr mal ansehen. Aber beim STM8 war mein 
Eindruck, das Optimierung auf Codegröße das einzige ist, was Raisonance 
gut kann: http://www.colecovision.eu/stm8/compilers.shtml

von Thomas Z. (usbman)


Lesenswert?

Philipp Klaus K. schrieb:
> Ich werde ihn mir dieses Jahr mal ansehen

ich habe mal etwas mit dem Compiler rumgespielt. Parameter Übergabe 
läuft wie bei Keil. Auch sonst sind die extensions im wesentlichen Keil 
kompatibel.
Mir sind nur 2 Sachen unangenehm aufgefallen:
1. vordefinierte Makros Raisonance definiert neben _RC51__ auch __C51_ 
was eine Unterscheidung zwischen Keil und Raisonance komplizierter 
macht.

2. Verhalten von sizeof() bei fixen Arrays im Flash
1
   const uint8_t CODE VendorDesc[170] =
2
   {
3
       10,0,             // wLength
4
       0,0,              // header
5
       0,0,3,6,          // OS
6
#ifdef __RC51__
7
       170,0,
8
#else
9
       sizeof (VendorDesc) & 0xFF,
10
       sizeof (VendorDesc) >> 8,
11
#endif
12
       8,0,
13
       2,0,              // MS_OS_20_SUBSET_HEADER_FUNCTION
14
       .....

Codegrößen bei meinem Testprogram:
C51  3713 bytes (höchste Optimierungsstufe + Register Coloring
RC51 5193 bytes bzw 4215 mit Code Compressor
SDCC 5220 bytes (default einstellungen)

Um ehrlich zu sein ist mir nicht ganz klar welche Optimierungen beim 
SDCC beim default zum tragen kommen.

Zahlen für IAR hab ich aktuell nicht weil mein code noch nicht mit IAR 
durchkompiliert.

von Thomas Z. (usbman)


Angehängte Dateien:

Lesenswert?

ein paar aktualisierte Zahlen:
Codegrößen bei meinem Testprogram:
- C51  3713 bytes höchste Optimierungsstufe + Register Coloring
- RC51 4215 bytes mit Code Compressor
- IAR  4900 bytes Programm läuft noch nicht wg ptr mismatch
- SDCC 5715 bytes (default Einstellungen) die alten Zahlen waren falsch

Beim SDCC hatte ich falsche Zahlen wegen einer alten *.mem Datei.
Beim IAR ist noch ein Bug drin, weil das mit dem generischen Pointer 
noch nicht richtig drin ist. Zusätzlich verzichte beim IAR noch auf 
Bitvariablen.
Möglicherweise habe ich auch noch nicht die optimalen Einstellungen bei 
IAR gefunden. Das Setup ist sehr unübersichtlich und ich habe so gut wie 
keine Erfahrung mit IAR.

Codecompressor bei Raisonance bzw OT9 bei Keil entspricht wohl einem 
-LTO weshalb der Vergleich etwas ungerecht ist. SDCC kann sowas nicht 
und bei IAR hab ich nichts gefunden.

Im Anhang mal das wichtigste C Modul. Der Code läuft komplett im 
Interrupt mit leerer main loop.

von Philipp Klaus K. (pkk)


Lesenswert?

Welche Versionen der Compiler wurden jeweils verwendet?

von Thomas Z. (usbman)


Lesenswert?

Philipp Klaus K. schrieb:
> Welche Versionen der Compiler wurden jeweils verwendet?

- c51:  v9.53 (seit v6.xx tut sich nicht mehr viel)
- rc51: v6.20 (die letzte Version)
- sdcc: v4.4  (v3.8 hat keine wesentlichen Unterschiede)
- IAR:  v10.3

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.