Nach gut drei Jahren stellt SiFive den Nachfolger des HiFive1 vor. Neben einigen Verbesserungen durch die zweite Generation des verwendeten FE310 SoCs bietet die neue Version nun drahtlose Konnektivität in Form von WLAN und Bluetooth.
Der FE310 stellt den ersten quelloffenen und kommerziell verwendbaren RISC-V SoC dar. So findet sich der benötigte RTL-Code für eigene Implementierungen etwa im git-Repository des Herstellers. Wie schon die erste Generation, verfügt der FE310-G002 über einen 32-bit RV32IMAC-Kern mit 320+ Mhz Taktrate, 16 KB L1 Cache und 16 KB SRAM.
Neu hinzugekommen sind neben dem bisherigen SPI-Interface eine zweite hardwareseitige UART-Schnittstelle, so wie eine I2C-Schnittstelle. Die Anzahl der GPIOs und PWM-Pins bleibt mit 19 beziehungsweise 9 unverändert. Die Railspannung der CPU kann nun abgeschaltet und das System so in einen Schlafmodus versetzt werden. Das auf dem FTDI FT2232 basierende Debuginterface wurde durch eine Segger J-Link-Schnittstelle ersetzt. Der auf dem Board vorhandene EEPROM wurde von 16 MB auf 4 MB reduziert, der Formfaktor ist gleich geblieben.
Ausgeliefert werden sollen die ersten Entwicklungsboards Mitte April, wobei noch knapp einen Monat über eine Crowdfundingkampagne vorbestellt werden kann. Bei Vorbestellung kostet eine Platine 49 $, später soll das HiFive1 Rev B für 59 $ im Handel erhältlich sein.
Ein Open-Source RISC-V Mikrocontroller mit einem ESP32 ist so wie ein
Elektro-Auto mit Diesel-Generator auf der Rückbank... Prozessor
Architekturen sind erforscht und bekannt, es kann sich praktisch jeder
selbst eine erfinden. WLAN-Module hingegen sind große Geheimnisse ohne
jede Transparenz. Auch hier kann offenbar nicht darauf verzichtet
werden. Wäre interessant zu wissen, ob der ESP32 nicht sowieso mehr
Leistung hat und der RISC-V hier nicht eh obsolet ist.
Dr. Sommer schrieb:> Ein Open-Source RISC-V Mikrocontroller mit einem ESP32 ist so wie ein> Elektro-Auto mit Diesel-Generator auf der Rückbank...
Nennt sich dann Range Extender und ist für viele Zwecke sinnvoll.
> Prozessor> Architekturen sind erforscht und bekannt, es kann sich praktisch jeder> selbst eine erfinden. WLAN-Module hingegen sind große Geheimnisse ohne> jede Transparenz. Auch hier kann offenbar nicht darauf verzichtet> werden. Wäre interessant zu wissen, ob der ESP32 nicht sowieso mehr> Leistung hat und der RISC-V hier nicht eh obsolet ist.
Nein, denn das Board ist schliesslich zum Kennenlernen der RISC-V ISA
da.
Performance:
FE310: etwa 520 Dmips
ESP32: etwa 200 Dmips
Der ESP32 muss aber das ganze WLAN Protokoll abarbeiten. Für harte
Echtzeitaufgaben wäre der auf dem Board überhaupt nicht zu gebrauchen.
John Doe schrieb:> Nennt sich dann Range Extender und ist für viele Zwecke sinnvoll.
Aber immerhin aus technischen Gründen. Wird der ESP32 irgendwie
leistungsfähiger dadurch, dass er geheim ist?
John Doe schrieb:> Für harte> Echtzeitaufgaben wäre der auf dem Board überhaupt nicht zu gebrauchen.
Ist aber offenbar schon echtzeitfähig, denn WLAN erfordert das.
John Doe schrieb:> Nein, denn das Board ist schliesslich zum Kennenlernen der RISC-V ISA> da.
Gibt's auch eins zum Kennenlernen der ISA und Peripherie des ESP32...?
Das wäre viel interessanter...
Dr. Sommer schrieb:> es kann sich praktisch jeder> selbst eine erfinden
Fragt sich nur, was die taugt. Es gibt "Privatarchiktekturen" wie Sand
am Meer, aber zu einem echten ARM-Konkurrenten hat es keine davon
gebracht. Bei RV steckt doch schon ein bisschen mehr Grips drin.
> WLAN-Module hingegen sind große Geheimnisse ohne jede Transparenz.
Stimmt zwar, aber das ganze WiFi-Zeugs ist standardisiert bis in den
letzten Winkel. Die meisten Entwickler sind froh, wenn sie eine
möglichst einfache API haben und das Teil einfach funktioniert, ohne
sich mit den Details befassen zu müssen. Da nimmt man halt ein Modul mit
SPI oder UART Interface und ist fertig. Billiger als mit dem ESP-32
gehts fast nimmer. Ziel des HiFive-Boards ist es auch nicht, den Leuten
ein quelloffenes WiFi zur Verfügung zu stellen.
Vancouver schrieb:> Fragt sich nur, was die taugt. Es gibt "Privatarchiktekturen" wie Sand> am Meer, aber zu einem echten ARM-Konkurrenten hat es keine davon> gebracht.
Klar. Aber immer noch viel besser als das Buch mit 7 Siegeln namens
"WLAN".
Vancouver schrieb:> Stimmt zwar, aber das ganze WiFi-Zeugs ist standardisiert bis in den> letzten Winkel.
Nur das Protokoll. Wie die Transceiver funktionieren und mit der
Software interagieren und wie diese das Protokoll verarbeitet ist
nebulös.
Vancouver schrieb:> Die meisten Entwickler sind froh, wenn sie eine> möglichst einfache API haben und das Teil einfach funktioniert, ohne> sich mit den Details befassen zu müssen
Dann können sie auch ARM statt RISC-V nehmen.
Vancouver schrieb:> Ziel des HiFive-Boards ist es auch nicht, den Leuten> ein quelloffenes WiFi zur Verfügung zu stellen.
Es geht aber irgendwie schon um den Open Source-Gedanken, welcher hier
aber nicht so ganz zum Tragen kommt.
Ich denke das ist nur schlecht formuliert und gemeint ist eine JTAG
Schnittstelle und das unser J-Link das Device unterstützt. Man wird also
auch anderen JTAG Debug Probes anschließen können (falls verfügbar).
Ich kann aber auch gerne, falls gewünscht, zwei Büros weiter bei den
J-Link Kollegen nach Details fragen.
[Edit] Oder ist da vielleicht ein J-Link OB drauf? Dann bräuchte man
aber auch nichts weiter von SEGGER kaufen.
Til S. schrieb:> Ich denke das ist nur schlecht formuliert und gemeint ist eine JTAG> Schnittstelle und das unser J-Link das Device unterstützt.
Unglücklich formuliert? Kann das der TO bestätigen? Für mich sieht das
nicht so aus. Ist diese "Produktvorstellung" von Segger gesponsert?
Markus schrieb:> Wer Debuggen will muss das Zeug von Segger kaufen?
Zumindest auf anderen Architekturen (ARM) kann man einen J-Link auch
über OpenOCD ansteuern. Ich würde vermuten, dass das bei RISC-V nicht
anders ist.
Markus schrieb:> Ist diese "Produktvorstellung" von Segger gesponsert?
Nope.
Ich habe gerade nachgefragt: Da ist tatsächlich ein J-Link OB drauf.
D.h. man braucht keine zusätzliche Debug Probe bzw. muss diese nicht bei
SEGGER kaufen.
Dr. Sommer schrieb:> Klar. Aber immer noch viel besser als das Buch mit 7 Siegeln namens> "WLAN".
Wo ist der Zusammenhang zwischen einer Prozessorarchitektur und WLAN?
Das sind zwei paar Schuhe.
>"Dann können sie auch ARM statt RISC-V nehmen."
Ist in den ganzen ARM-SoCs das WLAN denn offengelegt?
Es geht hier um ein RV-Entwicklungsboard, nicht um einen quelloffenen
WLAN-Treiber.
>"Nur das Protokoll. Wie die Transceiver funktionieren und mit der
Software interagieren und wie diese das Protokoll verarbeitet ist
nebulös."
Ja, so wie bei praktisch allen Chips, die irgend eine komplexe Funktion
haben. Bluetooth, LAN, Zigbee, HDMI, was auch immer. Die sind fast nie
offengelegt, und wenn, dann meistens durch Reverse Engineering. Beispiel
RTL-SDR. Es gibt immer nur eine API oder einen fertigen Treiber. Wo ist
das Problem?
Wenn du einem WLAN-Treiber entwicklen willst, dann musst du dir ein
Eval-Board mit dem WLAN-Chip kaufen. Bei dem Hifive-Boards gehts um den
Prozessor, WLAN ist da nur ein Add-On, das funktionieren muss.
>"Es geht aber irgendwie schon um den Open Source-Gedanken, welcher hier
aber nicht so ganz zum Tragen kommt."
Der RV ist Open Source. HiFive hat sogar vorschriftsmäßig den HDL-Code
auf GitHub gelegt. Das bedeutet nicht, dass alle anderen Chips auf dem
Board auch OS sein müssen.
Til S. schrieb:> D.h. man braucht keine zusätzliche Debug Probe bzw. muss diese nicht bei> SEGGER kaufen.
Keine Sorge: Segger ist vor mir als Kunde bestens geschützt.
Vancouver schrieb:> Dr. Sommer schrieb:>> es kann sich praktisch jeder>> selbst eine erfinden>> Fragt sich nur, was die taugt. Es gibt "Privatarchiktekturen" wie Sand> am Meer, aber zu einem echten ARM-Konkurrenten hat es keine davon> gebracht. Bei RV steckt doch schon ein bisschen mehr Grips drin.
Privatarchiktekturen laufen ja normalerweise auf FPGAs, das kann man
schwer mit den ARM Chips vergleichen. Als FPGA Softcore ist Risc-V doch
viel besser geeignet, als ein ARM.
Aus der eigenen RV Architektur einen leistungsfähigen Chip herzustellen,
erfordert Millionen an $ und, im Falle eines Mikrocontrollers,
zusätzlich gute Peripheriebausteine. Das können sich nur grosse Firmen
leisten, und die haben ja schon alle ARM Lizenzen erworben...
Neue Firmen im fernen Osten planen aber sehr wohl Risc-V Chips.
Espressif (ESP32, ESP8266) könnte durchaus bald vom Tensilica-Core zu
einem Risc-V wechseln für neue Chips.
Den Kendryte K210 gibt es schon heute zu kaufen, der hat 2 RV64 Kerne
mit 400..800 MHz und ist für KI Anwendungen gedacht. Bei Seeed gibt es
auch Entwicklungsboards dafür, zu einem Bruchteil des Preises eines
HiFive. (Einfach mal nach Sipeed suchen)
Und dann ist da noch WesternDigital, die wollen bald millionenfach
Risc-V in ihren Festplatten einsetzen.
Und NXP hat mit dem RV32M1 einen Versuchscontroller mit 2 Kernen,
umschaltbar zwischen ARM und RV32, herausgebracht, wohl um Vergleiche
anzustellen und einen eventuellen Wechsel zu erleichtern ->
https://open-isa.org
Autor: John Doe (Gast)
>Der ESP32 muss aber das ganze WLAN Protokoll abarbeiten. Für harte>Echtzeitaufgaben wäre der auf dem Board überhaupt nicht zu gebrauchen.
Wieso nicht? Haben die dort einen single-Core ESP32 verbaut?
Andi schrieb:> Privatarchiktekturen laufen ja normalerweise auf FPGAs, das kann man> schwer mit den ARM Chips vergleichen. Als FPGA Softcore ist Risc-V doch> viel besser geeignet, als ein ARM.
Das stimmt, aber auch abgesehen von der FPGA-Zielplattform: In ARM und
RV stecken Mannjahre an Entwicklungsleistung. Das baut ein Hobbybastler
oder eine 10-Mann-Klitsche nicht so schnell nach. Deswegen war ARM
bisher auch ziemlich konkurrenzlos.
Andi schrieb:> Neue Firmen im fernen Osten planen aber sehr wohl Risc-V Chips.> Espressif (ESP32, ESP8266) könnte durchaus bald vom Tensilica-Core zu> einem Risc-V wechseln für neue Chips.
Der Wechsel steht schon fest, nur der Zeitpunkt noch nicht.
Demnächst kommt auch von WCH ein RISC-V Controller mit BLE:
https://www.cnx-software.com/2019/02/16/wch-ch572-risc-v-mcu-bluetooth-le/> Den Kendryte K210 gibt es schon heute zu kaufen, der hat 2 RV64 Kerne> mit 400..800 MHz und ist für KI Anwendungen gedacht. Bei Seeed gibt es> auch Entwicklungsboards dafür, zu einem Bruchteil des Preises eines> HiFive. (Einfach mal nach Sipeed suchen)> Und dann ist da noch WesternDigital, die wollen bald millionenfach> Risc-V in ihren Festplatten einsetzen.
Nicht millionenfach, milliardenfach.
Google benutzt RISC-V in ihren TPUs und NVidia demnächst als
Controller-Kerne in ihren GPUs.
> Und NXP hat mit dem RV32M1 einen Versuchscontroller mit 2 Kernen,> umschaltbar zwischen ARM und RV32, herausgebracht, wohl um Vergleiche> anzustellen und einen eventuellen Wechsel zu erleichtern ->> https://open-isa.org
Bemerkenswert ist, dass jetzt schon so viele RISC-V implementieren.
Dabei sind viele Teile der Spezifikation noch gar nicht fertig, z.B.
Vector oder Packed SIMD. Es bleibt spannend.
Markus_ schrieb:> Autor: John Doe (Gast)>>Der ESP32 muss aber das ganze WLAN Protokoll abarbeiten. Für harte>>Echtzeitaufgaben wäre der auf dem Board überhaupt nicht zu gebrauchen.>> Wieso nicht? Haben die dort einen single-Core ESP32 verbaut?
Ja, es ist die ESP32-Variante mit einem 160MHz Single Core im Gegensatz
zu den meist üblichen 240MHz-Dualcores.
Optimist Prime schrieb:> Kennt einer den Preis und einen Distributor für die Chips?
Lediglich über die Crowdfunding-Plattform kann man auch Chips im
5er-Pack für $25 erwerben, zzgl. $10 Versand wenn außerhalb der USA.
Habe ich mir schon überlegt, eine eigene simple breadboardtaugliche
Prototyping-Platine dafür sollte kein Hexenwerk sein und am Ende
günstiger als das Komplettboard kommen (grob überschlagen 15-20 € pro
Stück würde ich sagen), vor allem da ich auf den ESP32-Schnickschnack
verzichten kann. Quasi ein HiFive-Nano, wenn man so will.
Wirklich interessant wäre natürlich das Unleashed, aber das ist mit $999
deutlich über dem was ich mir als Privatmensch zumuten kann.
Andi schrieb:> Aus der eigenen RV Architektur einen leistungsfähigen Chip herzustellen,> erfordert Millionen an $ und, im Falle eines Mikrocontrollers,> zusätzlich gute Peripheriebausteine. Das können sich nur grosse Firmen> leisten, und die haben ja schon alle ARM Lizenzen erworben...
An Espressif kann man ganz gut sehen wie wenig Leute man eigentlich
braucht. Als der ESP32 rauskam waren es noch weniger als 50. Das sie
keinen ARM-Kern drin haben liegt aber vermutlich weniger an den
Lizenzkosten als viel mehr an der Tatsache, dass ARM keinerlei
Modifikationen am Core zulässt, etwa für spezifische Instruktionen.
Genau das ist aber bei Xtensa oder RV möglich. Die Lizenz für ARM-Kerne
ist auch meiner Meinung nach keine einmalige Kauflizenz. Da muss man
schon für jeden einzelnen produzierten Chip eine Gebühr abdrücken.
FS schrieb:> Habe ich mir schon überlegt, eine eigene simple breadboardtaugliche> Prototyping-Platine dafür sollte kein Hexenwerk sein und am Ende> günstiger als das Komplettboard kommen (grob überschlagen 15-20 € pro> Stück würde ich sagen), vor allem da ich auf den ESP32-Schnickschnack> verzichten kann. Quasi ein HiFive-Nano, wenn man so will.
Gibt es natürlich schon, nennt sich nicht HiFive-Nano sondern LoFive:
https://groupgets.com/manufacturers/qwerty-embedded-design/products/lofive-risc-v
Christoph B. schrieb:> Neben einigen Verbesserungen durch die zweite Generation des verwendeten> FE310 SoCs bietet die neue Version nun drahtlose Konnektivität in Form> von WLAN und Bluetooth.
Geht das nur mir so, oder suggeriert der Satz, dass der FE310 WLAN und
Bluetooth integriert hat, obwohl da einfach nur ein Modul dafür auf dem
Board ist?
Christopher J. schrieb:> Das sie> keinen ARM-Kern drin haben liegt aber vermutlich weniger an den> Lizenzkosten als viel mehr an der Tatsache, dass ARM keinerlei> Modifikationen am Core zulässt, etwa für spezifische Instruktionen.
Spezifische Instruktionen müssten auch von den Compilern unterstützt
werden und da fangen die Herausforderungen an, wenn man vom Standard
abweicht. Wobei es durchaus von Arm auch Architekturlizenzen gibt, die
z.B. Qualcomm ermöglichen, am Core zu schrauben und aus einem Cortex-Ax
einen Snapdragon zu bauen.
Christopher J. schrieb:> Die Lizenz für ARM-Kerne> ist auch meiner Meinung nach keine einmalige Kauflizenz. Da muss man> schon für jeden einzelnen produzierten Chip eine Gebühr abdrücken.
Hier mal Zahlen von 2013:
https://www.anandtech.com/show/7112/the-arm-diaries-part-1-how-arms-business-model-works/2
~1M$ - ~10M$ für die initiale Lizenz sind schon nicht ohne und da muss
man dann ein paar Controller bis zum ROI verkaufen. Wenn dann noch 1-x%
an Royalties weg gehen, bleibt nicht mehr viel Gewinn hängen, was den RV
auch aus diesem Gesichtspunkt interessant macht.
Michael F. schrieb:> Wobei es durchaus von Arm auch Architekturlizenzen gibt, die z.B.> Qualcomm ermöglichen, am Core zu schrauben und aus einem Cortex-Ax einen> Snapdragon zu bauen.
bei den Cortex-A kenne ich mich nicht aus aber bei den Cortex-M gibt es
diese Option meines Wissens nach nicht.
Michael F. schrieb:> Spezifische Instruktionen müssten auch von den Compilern unterstützt> werden und da fangen die Herausforderungen an, wenn man vom Standard> abweicht.
Ich sehe das tatsächlich als die größte Herausforderung für das RISC-V
Projekt an, mache mir da aber auch nichts vor. Einen gewissen
"Wildwuchs" bei den Compilern wird es ganz sicher geben. Da baut dann
Espressif einen GCC der spezielle Instruktionen für den Wifi-Stack hat
und Trinamic einen, der spezielle Instruktionen für Motorregelungen
beinhaltet. So wie es jetzt mit dem GCC-ARM ist, also ein Compiler für
alle Prozessoren, das wird glaube ich schwer zu halten sein, weil die
Interessen der Hersteller einfach zu unterschiedlich sind und ja gerade
die Hersteller ihre Erweiterungen als "secret sauce" nicht der
Konkurrenz aufs Auge drücken wollen. Am Ende wird es aber auch ein
bisschen an der RISC-V Foundation liegen, ob und in wie weit sie alle
Leute zusammen an einen Tisch bekommen um den Wildwuchs zumindest
einzuschränken und somit die Architektur als ganzes zu stärken, wovon
dann auch wieder alle profitieren.
Christopher J. schrieb:> Einen gewissen> "Wildwuchs" bei den Compilern wird es ganz sicher geben.
Die stark anwendungspezifischen Befehle werden vermutlich gar keinen Weg
in den Compiler finden. Vielmehr werden die Hersteller spezielle
Assembler-Bibliotheken schreiben, die diese Befehle nutzen. In der
"normalen" Usersoftware lassen sich diese speziellen Instruktionen
vermutlich kaum sinnvoll verwenden, zumal sie nur in den proprietären
Implementierungen vorkommen, die der User meistens gar nicht selber
programmiert.
Ich schätze mal, dass sich im Laufe der Zeit bestimmte
Befehlssatzerweiterungen als besonders nützlich erweisen, und die werden
dann in den Compiler übernommen und vielleicht auch standardisiert.
Andi schrieb:> FS schrieb:>> Habe ich mir schon überlegt, eine eigene simple breadboardtaugliche>> Prototyping-Platine dafür sollte kein Hexenwerk sein und am Ende>> günstiger als das Komplettboard kommen (grob überschlagen 15-20 € pro>> Stück würde ich sagen), vor allem da ich auf den ESP32-Schnickschnack>> verzichten kann. Quasi ein HiFive-Nano, wenn man so will.>> Gibt es natürlich schon, nennt sich nicht HiFive-Nano sondern LoFive:> https://groupgets.com/manufacturers/qwerty-embedded-design/products/lofive-risc-v
Hätte ich mir denken können, dass da jemand schon auf die Idee gekommen
ist. Fertige Lösungen sind natürlich immer nett, was eigenenes machen
wenn man die Zeit und Lust dazu hat macht aber mehr Spaß. :)