RK3506 Cortex-M0 Entwicklung

OP #7919603
Lesenswert?
• ▲
▼

Hallo,

Ich habe schon viele unterschiedliche Mikrocontroller (STM32, ATSAM, NXP) programmiert, habe ich auch große Sammlung Zuhause.

Aber diese Single-Chip Linux Welt hat eine andere Tür geöffnet. z.B. Den Milk-V Duo (CV1800B-SG200x MCU) kann man einerseits bare-metal wie Mikrokontroller programmieren, und gleichzeitig daneben Linux für Storage oder Connectivity laufen lassen. (Ich habe schon ein Data-Logger Projekt auf Milk-V Duo basis.) Der Milk-V Duo mit Ethernet braucht nur 60 mA, weniger als viele Cortex-M7 Mikrokontroller. Und es ist sehr billig auch.

Ähnlich zu Milk-V Duo (oder Lichee RV Nano) ist der Luckfox Pico (und seine Variante) mit dem Rockchip RV1103/RV1106 Single Chip Linux. Aber der hatte keine richtige SW support oder MCU Manual. (Die HW Reference ist schon erreichbar, aber erst viel Jahre später) Der RV1106 ist nicht besonders besser als the SG2002, und ohne dokumentation hat mich es nicht interessiert.

Seit paar Monate gibt aber der Luckfox Lyra Serie. Diese nutzen den Rockchip RK3506 Mikrokontroller. Der RK3506G2 hat intern:

  • 128 MB RAM
  • 3 x ARM Cortex A7 @ 1.2 GHz (?)
  • 1 x Cortex-M0 @ 200 MHz, mit 48 k dedizierten SRAM
  • Flexible IO Matrix ( = fast jeder pin kann alles)
  • Bessere Periferien als der SG200x

Obwohl keinen Reference Manual erreichbar war, habe ich einen Luckfox Lyra Plus gekauft (für 17 EUR von amazon.de). (Idle Strom hier ist auch sehr niedrig, gegen 80 mA. Beim starten habe ich 110 mA gesehen.) Auf Papier ist es viel besser als der SG200x (in Milk-V Duo). Aber mir wäre wichtig den Cortex-M0 Core nutzen können, z.B um einen External SPI ADC zu treiben.

Ich habe ziemlich viel Zeit investiert um für den RK3506 einen guten Linux und Entwicklungsumgebung zu haben. Meinen eigenen Kernel mit Yocto Linux bootet in 5 Sekunden.

Ich habe angefangen ein Linux Remote Processor Kernel Modul für den Cortex-M0 Kern von RK3506 zu entwickeln. Es sind alle wichtige teile da, aber leider der M0 Kern startet immer noch nicht. Seit paar Wochen einen Reference Manual auch erreichbar, aber damit konnte ich auch nicht weiter kommen.

Ich habe ein Projekt auf github kreirt, was alles nötige enthaltet, beschreibt:

https://github.com/nvitya/rk3506-mcu

Ich suche hilfe, vielleich könnte jemand von euch mir dabei helfen. Alle Infos sind auf dem github Projekt Page.

Wenn das funktionieren würde, hatten wir einen sehr universellen Hybrid Mikrokontroller und ich werde dann wahrscheinlich beispiele publizieren.

lg. nvitya

#7919742
Lesenswert?
• ▲
▼

Die Hauptfrage ist wohl eher wofuer man so ein Monster ganz genau braucht. Den so eine krasse Stromaufnahme von 80mA und eine Bootzeit von 5s mache das Teil ja fuer die meisten kleinen Anwendungen unbrauchbar. Das muss einem schon was spezielles vorschweben wofuer man z.B die Netzwerkfaehigkeiten von Linux braucht.

Vanye

OP #7919754
Lesenswert?
• ▲
▼

Datasheet und reference manual:

https://github.com/DeciHD/rockchip_docs/tree/main/rk3506

Jemand hat geschafft auf den RV1106 (Luckfox Pico Max) den RV32I Core ins Lauf zu bringen:

https://github.com/luyi1888/rv1106-mcu

Also ich denke, hier nur ein wenig fehlt. Mit dem kernel module ich kann diese Trusted Firmware auch aufrufen.

Wenn der rk3506 funktioniert, vielleicht kaufe ich einen RV1106 und ajdustire den remote processor treiber für diesen auch. Aber der RK3506 ist viel besser für mich.

Beim CV1800/SG2002 (Milk-V Duo) funktioniert schon alles.

So einfach ist soeinen MCU zu einsetzen aber nicht. Die brauchen:

  • SDCARD oder NAND Flash (für das booten)
  • 1.8 V Versorgung
  • 1.35 V Versorgung
  • 0.9 V Versorgung

Schematics für Milk-V Duo: https://github.com/milkv-duo/duo-files/tree/main/duo/hardware

Aber man kann das Modul einsetzen, wie ich das gemacht habe.

Für den Milk-V Duo gibt auch Arduino library! Der Linux kern lauft mit Linux und den RT Kern kann man mit Arduino programmieren.

Wenn jemand diesen welt nicht kennt, dann empfehle ich den Milk-V Duos anzuschauen (besser den Milk-V Duo 256). Datentausch zwischen die zwei kerne einfach über Shared Memory, das Messagebox ist nicht unbedingt notwendig.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.